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实现excel转sqlite的方法
Jul 17 Python
快速了解Python开发中的cookie及简单代码示例
Jan 17 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
Flask框架URL管理操作示例【基于@app.route】
Jul 23 Python
redis数据库及与python交互用法简单示例
Nov 01 Python
Python运行提示缺少模块问题解决方案
Apr 02 Python
使用python实现名片管理系统
Jun 18 Python
pandas参数设置的实用小技巧
Aug 23 Python
python操作链表的示例代码
Sep 27 Python
Python语言规范之Pylint的详细用法
Jun 24 Python
5行Python代码实现一键批量扣图
Jun 29 Python
python 中的jieba分词库
Nov 23 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 sprintf()函数让你的sql操作更安全
2008/07/23 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
浅析php原型模式
2014/11/25 PHP
twig模板常用语句实例小结
2016/02/04 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
js no-repeat写法 背景不重复
2009/03/18 Javascript
JavaScript的public、private和privileged模式
2009/12/28 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
javascript动态加载二
2012/08/22 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
Python使用SocketServer模块编写基本服务器程序的教程
2016/07/12 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
浅析Python 抽象工厂模式的优缺点
2020/07/13 Python
Python如何读写二进制数组数据
2020/08/01 Python
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
医学专业毕业生推荐信
2013/11/14 职场文书
优秀求职信范文分享
2014/01/26 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
班主任个人工作反思
2014/04/28 职场文书
顶岗实习计划书
2015/01/16 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript