Python警察與小偷的實現(xiàn)之一客戶端與服務(wù)端通信實例
本文實例講述了Python警察與小偷的實現(xiàn)之一客戶端與服務(wù)端通信,分享給大家供大家參考。具體方法分析如下:
該實例來源于ISCC 2012 破解關(guān)第四題
目的是通過逆向police,實現(xiàn)一個thief,能夠與police進(jìn)行通信
實際上就是一個RSA加密通信的例子,我們通過自己編寫客戶端和服務(wù)端來實現(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核心編程》
如果報python errno 10053錯誤,請確認(rèn)下客戶端的連接代碼一定要在循環(huán)外
也就是:
tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR)
要在while True的外面。
下次解決RSA加密的問題。
希望本文所述對大家的Python程序設(shè)計有所幫助。
- Python TCP通信客戶端服務(wù)端代碼實例
- Python通過隊列來實現(xiàn)進(jìn)程間通信的示例
- Python 串口通信的實現(xiàn)
- Python使用socket模塊實現(xiàn)簡單tcp通信
- Python如何實現(xiàn)線程間通信
- Python實現(xiàn)UDP程序通信過程圖解
- 如何通過Python3和ssl實現(xiàn)加密通信功能
- Python通過4種方式實現(xiàn)進(jìn)程數(shù)據(jù)通信
- python實現(xiàn)串口通信的示例代碼
- python實現(xiàn)局域網(wǎng)內(nèi)實時通信代碼
- python 實現(xiàn)客戶端與服務(wù)端的通信
相關(guān)文章
Python利用邏輯回歸模型解決MNIST手寫數(shù)字識別問題詳解
這篇文章主要介紹了Python利用邏輯回歸模型解決MNIST手寫數(shù)字識別問題,結(jié)合實例形式詳細(xì)分析了Python MNIST手寫識別問題原理及邏輯回歸模型解決MNIST手寫識別問題相關(guān)操作技巧,需要的朋友可以參考下2020-01-01淺談python實現(xiàn)Google翻譯PDF,解決換行的問題
今天小編就為大家分享一篇淺談python實現(xiàn)Google翻譯PDF,解決換行的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11python中pandas對多列進(jìn)行分組統(tǒng)計的實現(xiàn)
分組統(tǒng)計在很多時候都需要用到,可以實現(xiàn)很多數(shù)據(jù)庫函數(shù)的功能。本文主要介紹了python中pandas對多列進(jìn)行分組統(tǒng)計的實現(xiàn),感興趣的可以了解一下2021-06-06python實現(xiàn)對列表中的元素進(jìn)行倒序打印
今天小編就為大家分享一篇python實現(xiàn)對列表中的元素進(jìn)行倒序打印,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11