资源描述
Socket通信
1. 实训目的
基于网络的所有应用软件都是基于socket之上的,其使用的通信协议也是在socket通信过程进行传递。因此,如果要了解网络通信软件的安全问题,首要的任务就是了解socket通信。本章实训的主要目的就是让同学们了解什么是socket通信,并初步地体会构造一些简单的协议。
2. 实训所需条件及环境
硬件设备:局域网(含机柜、配线架、交换机等)、台式PC机
软件支撑:Wireshark协议分析软件、ColaSoft协议分析软件、Windows系列操作系统、python开发平台
网络拓扑结构:
3. 实训内容
3.1 Python开发平台的搭建
①安装Python 2.7
点击【程序】→【运行】,输入cmd,进入DOS窗口模式。然后键入指令“cd /”进入C盘的根目录,接着输入dir指令观察是否存在Python2.7的目录,如果不存在该目录则点击python-2.7.1.msi安装Python2.7。
②安装wxPython2.8
点击wxPython2.8直接进行安装,如下图所示。
③安装Comtypes 0.6+
解压Comtypes 0.6+的rar压缩包,并执行该文件夹中的安装程序comtypes-0.6.2.win32.exe,如图所示。
④安装ulipad
解压ulipad4.1的zip压缩包到C盘根目录,然后修改系统的环境变量,在Path值的最后加上Python的安装路径“;C:\Python27”,如图所示。
点击【程序】→【运行】,输入cmd,进入DOS窗口模式。然后键入指令“cd /ulipad”进入C盘的ulipad工作目录,最后键入python ulipad.pyw,即可打开python的编辑界面,如下图所示。
⑤创建python程序
点击【文件】→【新建…】,勾选python栏目,如下图所示。
点击【文件】→【新建】创建一个新的python文件,如下图所示,然后点击【文件】→【保存】,将文件保存到D:\MyWork中。
⑥运行Python程序
Python程序有两种运行方式,一种为使用ulipad运行,如下图所示,点击运行的标志即可,或者按【F5】。
另外一种方式为应用指令运行,如下图所示,在DOS窗口模式下进入python文件的存放目录,键入python 程序名.py即可。
3.2 Socket通信协议练习
l Server端程序代码:
l 客户端代码
①两机间的Socket通信练习
根据机器的实际情况,修改Server端代码中的Socket地址绑定,及Client端的Socket连接地址,保存文件后,按下【F5】运行python程序,一台机器运行Server端程序,另外一台机器运行Client端程序,观察两台机器的通信结果。
②两台机的Socket对话通信练习
Python读取键盘输入的代码为:raw_input()
Python循环语句的代码为:
while循环使用示例:
Python条件判断语句为:
if条件判断使用示例:
练习要求:
请根据上述用法,修改Server端中的语句以及Client端中的语句,将其变为聊天工具,即Client端在连接服务器后,可以将键盘键入的信息发给Server端,而Server端在接收到Client端的信息后,可以将键盘的输入内容返回给Client端。(能否做到一旦有一方输入字符串byebye,则双方终止对话?)
3.3 HTTP协议破解练习
练习要求:
①使用Wireshark或者ColaSoft Capsa监控PC的浏览器访问网页的操作捕获有关的数据包;
②根据捕获的数据包内容分析Web服务器发给浏览器的内容,如图所思,并提取、伪造有关协议内容;
③修改Server端的程序代码,将伪造的协议内容赋给变量msg,然后给msg添加HTML文件代码,即使用“+=”进行赋值。
④运行Server端程序,并使用浏览器访问Server端程序,观察运行结果。
展开阅读全文