抓包实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
:利用Wireshark软件进行数据包抓取
1.3.2 抓取一次完整的网络通信过程的数据包实验
一,实验目的:
通过本次实验,学生能掌握使用Wireshark抓取ping命令的完整通信过程的数据包的技能,熟悉Wireshark软件的包过滤设置和数据显示功能的使用。
二,实验环境:
操作系统为Windows 7,抓包工具为Wireshark.
三,实验原理:
ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。
四,验步骤:
1.确定目标地址:选择作为目标地址。
2.配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用捕捉过滤器,过滤设置为icmp,如图 1- 1
图 1-1
3.启动抓包:点击【start】开始抓包,在命令提示符下键入ping , 如图 1-2
图 1-2
停止抓包后,截取的数据如图 1-3
图 1-3
4,分析数据包:选取一个数据包进行分析,如图1- 4
图1-4
每一个包都是通过数据链路层DLC协议,IP协议和ICMP协议共三层协议的封装。DLC协议的目的和源地址是MAC地址,IP协议的目的和源地址是IP地址,这层主要负责将上层收到的信息发送出去,而ICMP协议主要是Type和Code来识别,“Type:8,Code:0”表示报文类型为诊断报文的请求测试包,“Type:0,Code:0”表示报文类型为诊断报文类型请正常的包。ICMP提供多种类型的消息为源端节点提供网络额故障信息反馈,报文类型可归纳如下:
(1)诊断报文(类型:8,代码0;类型:0代码:0);
(2)目的不可达报文(类型:3,代码0-15);
(3)重定向报文(类型:5,代码:0--4);
(4)超时报文(类型:11,代码:0--1);
(5)信息报文(类型:12--18)。
1.4.1,TCP协议的分析实验
一,实验目的:通过本次实验,掌握使用Wireshark抓取TCP协议的数据包的技能,能够在深入分析“TCP的三次握手”,TCP的四次挥手协议在网络数据流的基础上,进一步提高理论联系实践的能力。
二,实验环境:操作系统为Windows 7,抓包工具为Wireshark,要求主机能够连进互联网。
三,实验原理:TCP协议是在计算机网络中使用最广泛的协议,很多的应用服务如FTP,HTTP,SMTP等在传输层都采用TCP协议,因此,如果要抓取TCP协议的数据包,可以在抓取相应的网络服务的数据包后,分析TCP协议数据包,深入理解协议封装,协议控制过程以及数据承载过程。
四,实验步骤:FTP在传输层采用的是TCP协议,所以此次实验选取FTP服务,本次抓包过程将采用显示过滤器的方法来过滤数据包。
1,确定目标地址:选择ftp.lib,为目标,选择应用服务FTP中的TCP协议包作分析
2,启动抓包:无需设置过滤器,直接开始抓包
3,使用FTP服务:Wireshark数据捕捉开始后,在主机的命令行提示符下使用FTP指令链接目标主机的FTP服务器,在默认的情况下,FTP服务器支持匿名访问,本次链接的的用户名是anonymous,密码是User@,如图 2-1
图 2-1
4,通过显示过滤器得到先关数据包:通过抓包获得大量的数据包,为了对数据包分析的方便,需要使用过滤器,添加本机IP地址和TCP协议过滤条件。在工具栏上的Filter对话框中填入过滤条件:tcp and ip.addr==192.168.156.236,根据分析找到“TCP三次握手”中的一个包,在此信息上右键点击选择【FollowTCP Stream】,弹出的信息如图 2-2,
图 2-2
以上的设置时为了获得更好的得到过滤后的相关性更强的数据包 5,分析数据包:得到的结果如图 2-3
图 2-3
第一次”握手“:客户端发送一个TCP,标志为SYN,序列号Seq的相对值为0,真值为Seq.No=b0 9c 71 a5,代表客户端请求建立连接,如图 2-4
图 2-4
第二次“握手”:服务器发回确认包,标志位为SYN,ACK,将确认序号ACK.No(Acknowledgement Number)设置为客户的Seq+1,即相对值0+1=1,或真实值b09c71a5+1=b09c71a6,
Seq.No=c5f7d49b,如图 2-5
图2 -5
第三次“握手”:客户端在次发送确认包(ACK),SYN标志位为0,ACK标志位为1,并且把服务器发Seq.No的序列号字段+1,即c5f7d49b+1=c5f7d49c,,放在确定字段中
发送给对方,如图 2-6
图 2-6
通过三次”握手“,TCP建立成功,然后就可以进行通信。从整个FTP的对话过程可以看出FTP传递的消息,比如用户名和密码都是明文传递。
第一次“挥手”:Client发送一个Fin=1,Seq=35,Seq.No=b09c7ea5,请求关闭Client到Server的数据传送,如图 2-6
图2-6
第二次“挥手”:服务器收到客户端的Fin,它发回一个ACK,确认序号为收到的序号加1,即ACK=35+1=36,ACK.No=b09c7ea5+1=b09c7ea6f,如图2-7
图 2-7
第三次“挥手”:收到Server发送的一个Fin=1,用来关闭Server到Client的数据传送,Seq=108,Seq.No=b09c7ea6,ACK=36,ACk.No=c5f7d49c 如图 2-8