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提示No module named images的解决方法
Sep 29 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
python 实现读取一个excel多个sheet表并合并的方法
Feb 12 Python
Python数据类型之Number数字操作实例详解
May 08 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
pytorch 实现查看网络中的参数
Jan 06 Python
Python文件操作基础流程解析
Mar 19 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
Apr 10 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
Sep 21 Python
Python3.8官网文档之类的基础语法阅读
Sep 04 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
模仿OSO的论坛(四)
2006/10/09 PHP
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
php中的动态调用实例分析
2015/01/07 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
php5与php7的区别点总结
2019/10/11 PHP
用js怎么把&字符换成"&amp:"
2006/10/19 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
图文介绍Vue父组件向子组件传值
2018/02/17 Javascript
Vue.js构建你的第一个包并在NPM上发布的方法步骤
2019/05/01 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
python解析xml文件操作实例
2014/10/05 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
python中pdb模块实例用法
2021/01/15 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
计算机专业推荐信范文
2013/11/20 职场文书
物理系毕业生自荐书范文
2014/02/22 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
关于学习的决心书
2015/02/05 职场文书
大学考试作弊检讨书
2015/05/06 职场文书