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中os.path用法分析
Jan 15 Python
Python实现身份证号码解析
Sep 01 Python
Python实现类似jQuery使用中的链式调用的示例
Jun 16 Python
Python处理JSON数据并生成条形图
Aug 05 Python
浅谈python中的变量默认是什么类型
Sep 11 Python
Python正则表达式实现截取成对括号的方法
Jan 06 Python
对numpy和pandas中数组的合并和拆分详解
Apr 11 Python
pycham查看程序执行的时间方法
Nov 29 Python
解决python线程卡死的问题
Feb 18 Python
Python静态类型检查新工具之pyright 使用指南
Apr 26 Python
python如何写个俄罗斯方块
Nov 06 Python
Django数据模型中on_delete使用详解
Nov 30 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 ajax 分页类代码
2008/11/13 PHP
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
支持中文的php加密解密类代码
2011/11/27 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
php实现图片缩略图的方法
2016/03/29 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python检测QQ在线状态的方法
2015/05/09 Python
Python使用sftp实现上传和下载功能(实例代码)
2017/03/14 Python
浅谈五大Python Web框架
2017/03/20 Python
python实现维吉尼亚算法
2019/03/20 Python
简单介绍python封装的基本知识
2019/08/10 Python
Django app配置多个数据库代码实例
2019/12/17 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
使用django自带的user做外键的方法
2020/11/30 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
详解CSS3实现响应式手风琴效果
2020/06/10 HTML / CSS
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
法律专业实习鉴定
2013/12/22 职场文书
英语专业求职信
2014/07/08 职场文书
停车位租赁协议书
2014/09/24 职场文书
邀请书模板
2015/02/02 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
学历证明样本
2015/06/16 职场文书
吃通javascript正则表达式
2021/04/21 Javascript
解析laravel使用workerman用户交互、服务器交互
2021/04/28 PHP
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript