国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python警察與小偷的實(shí)現(xiàn)之一客戶端與服務(wù)端通信實(shí)例

2020-02-23 06:04:01
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Python警察與小偷的實(shí)現(xiàn)之一客戶端與服務(wù)端通信,分享給大家供大家參考。具體方法分析如下:

該實(shí)例來源于ISCC 2012 破解關(guān)第四題
目的是通過逆向police,實(shí)現(xiàn)一個(gè)thief,能夠與police進(jìn)行通信

實(shí)際上就是一個(gè)RSA加密通信的例子,我們通過自己編寫客戶端和服務(wù)端來實(shí)現(xiàn)上面的thief和police的功能.

要通信,這們這次先通過python寫出可以進(jìn)行網(wǎng)絡(luò)連接的客戶端與服務(wù)端.

服務(wù)端代碼如下:

#!/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核心編程》

如果報(bào)python errno 10053錯(cuò)誤,請確認(rèn)下客戶端的連接代碼一定要在循環(huán)外
也就是:

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

要在while True的外面。

下次解決RSA加密的問題。

希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 五华县| 崇义县| 湘潭县| 特克斯县| 葫芦岛市| 南澳县| 山东省| 察隅县| 怀安县| 宜章县| 云林县| 朔州市| 通州区| 岢岚县| 永城市| 广州市| 西平县| 五寨县| 织金县| 城口县| 称多县| 峨眉山市| 无为县| 张家口市| 翁源县| 绥德县| 苗栗市| 隆化县| 绥棱县| 洪泽县| 凌云县| 邓州市| 连平县| 永川市| 蚌埠市| 宿松县| 三门峡市| 新竹县| 玉田县| 东莞市| 博罗县|