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 23 Python
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
Django与遗留的数据库整合的方法指南
Jul 24 Python
python判断字符串编码的简单实现方法(使用chardet)
Jul 01 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
Aug 05 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
Jan 06 Python
Matlab中plot基本用法的具体使用
Jul 17 Python
pycharm 配置svn的图文教程(手把手教你)
Jan 15 Python
M1芯片安装python3.9.1的实现
Feb 02 Python
如何用python爬取微博热搜数据并保存
Feb 20 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+MSSQL分页的例子
2006/10/09 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
php中stdClass的用法分析
2015/02/27 PHP
thinkPHP模板中for循环与switch语句用法示例
2016/11/30 PHP
Yii框架表单提交验证功能分析
2017/01/07 PHP
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
javascript基础知识讲解
2017/01/11 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
Python中函数的返回值示例浅析
2019/08/28 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
python实现银行实战系统
2020/02/26 Python
python主要用于哪些方向
2020/07/05 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
Sneaker Studio波兰:购买运动鞋
2018/04/28 全球购物
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
审计主管岗位职责
2014/01/31 职场文书
爱国演讲稿400字
2014/05/07 职场文书
党支部先进事迹材料
2014/12/24 职场文书
预备党员表决心的话
2015/09/22 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
python中的None与NULL用法说明
2021/05/25 Python
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫