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 学习笔记
Dec 27 Python
python正则表达式re模块详细介绍
May 29 Python
Python中处理unchecked未捕获异常实例
Jan 17 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
May 24 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
May 25 Python
python SVD压缩图像的实现代码
Nov 05 Python
pandas 对group进行聚合的例子
Dec 27 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
Apr 23 Python
python如何调用java类
Jul 05 Python
python使用列表的最佳方案
Aug 12 Python
python字典按照value排序方法
Dec 28 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
PHP4实际应用经验篇(8)
2006/10/09 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
Google Maps基础及实例解析
2016/08/06 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
详解Python 4.0 预计推出的新功能
2019/07/26 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
以设计师精品品质提供快速时尚:PopJulia
2018/01/09 全球购物
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
父母对孩子说的话
2014/04/12 职场文书
五分钟演讲稿
2014/04/30 职场文书
宣传口号大全
2014/06/16 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
环保建议书作文300字
2015/09/14 职场文书
pytorch中的numel函数用法说明
2021/05/13 Python
Python实现文字pdf转换图片pdf效果
2022/04/03 Python
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript