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的*args和**kwargs用法
Nov 01 Python
Python查找函数f(x)=0根的解决方法
May 07 Python
python中OrderedDict的使用方法详解
May 05 Python
Python实现发送QQ邮件的封装
Jul 14 Python
python数据结构链表之单向链表(实例讲解)
Jul 25 Python
python实现决策树
Dec 21 Python
Python操作MySQL数据库的三种方法总结
Jan 30 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
利用Pycharm断点调试Python程序的方法
Nov 29 Python
python登录WeChat 实现自动回复实例详解
May 28 Python
PIL图像处理模块paste方法简单使用详解
Jul 17 Python
python 对一幅灰度图像进行直方图均衡化
Oct 27 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
yii实现CheckBox复选框在同一行显示的方法
2014/12/03 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
JavaScript中字符串拼接的基本方法
2015/07/07 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
详解Vue中的自定义指令
2020/12/07 Vue.js
Python enumerate遍历数组示例应用
2008/09/06 Python
Python中的map、reduce和filter浅析
2014/04/26 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
python怎么自定义捕获错误
2020/06/29 Python
python集合的新增元素方法整理
2020/12/07 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
屈臣氏泰国官网:Watsons TH
2021/02/23 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
急诊科护士自我鉴定
2013/10/14 职场文书
师范应届生教师求职信
2013/11/05 职场文书
个人求职信范文分享
2013/12/13 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript
Nginx图片服务器配置之后图片访问404的问题解决
2022/03/21 Servers