手机
当前位置:查字典教程网 >脚本专栏 >python >Python警察与小偷的实现之一客户端与服务端通信实例
Python警察与小偷的实现之一客户端与服务端通信实例
摘要:本文实例讲述了Python警察与小偷的实现之一客户端与服务端通信,分享给大家供大家参考。具体方法分析如下:该实例来源于ISCC2012破解关...

本文实例讲述了Python警察与小偷的实现之一客户端与服务端通信,分享给大家供大家参考。具体方法分析如下:

该实例来源于ISCC 2012 破解关第四题

目的是通过逆向police,实现一个thief,能够与police进行通信

实际上就是一个RSA加密通信的例子,我们通过自己编写客户端和服务端来实现上面的thief和police的功能.

要通信,这们这次先通过python写出可以进行网络连接的客户端与服务端.

服务端代码如下:

#!/usr/bin/env python import SocketServer from time import ctime HOST = '127.0.0.1' PORT = 2012 ADDR = (HOST, PORT) class MyRequestHandler(SocketServer.BaseRequestHandler): def handle(self): print '...connected from...', self.client_address while True: self.request.sendall('[%s] %s' % (ctime(),self.request.recv(1024))) tcpServ = SocketServer.ThreadingTCPServer(ADDR, MyRequestHandler) print 'waiting for connection...' tcpServ.serve_forever()

客户端代码如下:

#!/usr/bin/env python from socket import * HOST = '127.0.0.1' PORT = 2012 BUFSIZ = 1024 ADDR = (HOST, PORT) tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR) while True: data = raw_input('>>>>>>>>>>>>') if not data: break tcpCliSock.send('%srn' % data) data = tcpCliSock.recv(BUFSIZ) if not data: break print data.strip() #tcpCliSock.close()

这段代码可参考《python核心编程》

如果报python errno 10053错误,请确认下客户端的连接代码一定要在循环外

也就是:

tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR)

要在while True的外面。

下次解决RSA加密的问题。

希望本文所述对大家的Python程序设计有所帮助。

【Python警察与小偷的实现之一客户端与服务端通信实例】相关文章:

python二叉树的实现实例

Python实现多线程下载文件的代码实例

python数据结构之二叉树的遍历实例

python调用短信猫控件实现发短信功能实例

Python写的一个简单DNS服务器实例

Python读写Excel文件的实例

python登录QQ邮箱发信的实现代码

python实现探测socket和web服务示例

python实现ftp客户端示例分享

Python中使用 Selenium 实现网页截图实例

精品推荐
分类导航