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基础教程之基本内置数据类型介绍
Feb 20 Python
Python编程实现二叉树及七种遍历方法详解
Jun 02 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
python+matplotlib实现礼盒柱状图实例代码
Jan 16 Python
详解tensorflow实现迁移学习实例
Feb 10 Python
python爬虫之模拟登陆csdn的实例代码
May 18 Python
Python实现App自动签到领取积分功能
Sep 29 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 Python
Python tkinter实现图片标注功能(完整代码)
Dec 08 Python
Windows下python3安装tkinter的问题及解决方法
Jan 06 Python
opencv+python实现均值滤波
Feb 19 Python
python中的unittest框架实例详解
Feb 05 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开发文档 会员收费1期
2012/08/14 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
AngularJS实现Model缓存的方式
2016/02/03 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
2016/09/08 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
python动态参数用法实例分析
2015/05/25 Python
详解Django通用视图中的函数包装
2015/07/21 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
Django实现单用户登录的方法示例
2019/03/28 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
Python实现非正太分布的异常值检测方式
2019/12/09 Python
python 监控服务器是否有人远程登录(详细思路+代码)
2020/12/18 Python
计算机软件个人的自荐信范文
2013/12/01 职场文书
消防安全管理制度
2014/02/01 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
水电工程师岗位职责
2015/02/13 职场文书
实习单位推荐信
2015/03/27 职场文书
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python
MySQL慢查询优化解决问题
2022/03/17 MySQL