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内置函数dir详解
Apr 14 Python
详解python里使用正则表达式的分组命名方式
Oct 24 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
使用DataFrame删除行和列的实例讲解
Apr 08 Python
基于DataFrame改变列类型的方法
Jul 25 Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 Python
Python要如何实现列表排序的几种方法
Feb 21 Python
Python 自由定制表格的实现示例
Mar 20 Python
Python动态强类型解释型语言原理解析
Mar 25 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
详解Python设计模式之策略模式
Jun 15 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 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查询操作实现投票功能
2016/05/09 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
学习ExtJS border布局
2009/10/08 Javascript
jQuery select操作控制方法小结
2010/05/26 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
2013/07/12 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
使用vue重构资讯页面的实例代码解析
2019/11/26 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
python Django批量导入不重复数据
2016/03/25 Python
python 统计代码行数简单实例
2017/05/04 Python
pandas修改DataFrame列名的方法
2018/04/08 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
python实现电子产品商店
2019/02/26 Python
python学生管理系统学习笔记
2019/03/19 Python
简单了解python协程的相关知识
2019/08/31 Python
使用Pandas的Series方法绘制图像教程
2019/12/04 Python
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
秘书英文求职信
2014/04/16 职场文书
《悯农》教学反思
2014/04/28 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
小学生感恩老师演讲稿
2014/08/28 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
大学运动会加油稿
2015/07/22 职场文书
《法国号》教学反思
2016/02/22 职场文书
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python
javascript实现计算器功能详解流程
2021/11/01 Javascript