本文实例讲述了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('%s\r\n' % 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程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“Python警察与小偷的实现之一客户端与服务端通信实例”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。