Python警察与小偷的实现之一客户端与服务端通信实例


Posted in Python onOctober 09, 2014

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python捕捉和模拟鼠标事件的方法
Jun 03 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
Python json 错误xx is not JSON serializable解决办法
Mar 15 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
Jun 27 Python
Python实现的三层BP神经网络算法示例
Feb 07 Python
python如何读写json数据
Mar 21 Python
python实现批量图片格式转换
Jun 16 Python
Python实现按逗号分隔列表的方法
Oct 23 Python
python整合ffmpeg实现视频文件的批量转换
May 31 Python
Django media static外部访问Django中的图片设置教程
Apr 07 Python
Python类的继承super相关原理解析
Oct 22 Python
python机器学习实现oneR算法(以鸢尾data为例)
Mar 03 Python
python中二维阵列的变换实例
Oct 09 #Python
python实现每次处理一个字符的三种方法
Oct 09 #Python
Python正则表达式匹配ip地址实例
Oct 09 #Python
Python数据结构之Array用法实例
Oct 09 #Python
python中pygame模块用法实例
Oct 09 #Python
python根据文件大小打log日志
Oct 09 #Python
python命令行参数解析OptionParser类用法实例
Oct 09 #Python
You might like
PHP连接SQLServer2005的方法
2015/01/27 PHP
总结一些PHP中好用但又容易忽略的小知识
2017/06/02 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
Prototype源码浅析 String部分(四)之补充
2012/01/16 Javascript
js实现图片轮换效果代码
2013/04/16 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
JavaScript学习笔记之DOM基础 2.4
2015/08/14 Javascript
js命名空间写法示例
2015/12/18 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
vue-rx的初步使用教程
2018/09/21 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
Python中input和raw_input的一点区别
2014/10/21 Python
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
python处理RSTP视频流过程解析
2020/01/11 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
美国内衣品牌:Leonisa
2016/08/14 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
党支部反对四风思想汇报
2014/10/10 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
重阳节活动主持词
2015/07/04 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
PyTorch device与cuda.device用法
2022/04/03 Python