资源描述:
《wireshark抓包实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一次实验:利用Wireshark软件进行数据包抓取1.3.2抓取一次完整的网络通信过程的数据包实验一,实验目的:通过本次实验,学生能掌握使用Wireshark抓取ping命令的完整通信过程的数据包的技能,熟悉Wireshark软件的包过滤设置和数据显示功能的使用。二,实验环境:操作系统为Windows7,抓包工具为Wireshark.三,实验原理:ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是
2、ICMP协议。四,验步骤:1.确定目标地址:选择www.baidu.com作为目标地址。2.配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用捕捉过滤器,过滤设置为icmp,如图1-1图1-13.启动抓包:点击【start】开始抓包,在命令提示符下键入pingwww.baidu.com,如图1-2图1-2停止抓包后,截取的数据如图1-3图1-34,分析数据包:选取一个数据包进行分析,如图1-4图1-4每一个包都是通过数据链路层DLC协议,IP协议和ICMP协议共三层协议的
3、封装。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)重定向报文(类型
4、:5,代码:0--4);(4)超时报文(类型:11,代码:0--1);(5)信息报文(类型:12--18)。1.4.1,TCP协议的分析实验一,实验目的:通过本次实验,掌握使用Wireshark抓取TCP协议的数据包的技能,能够在深入分析“TCP的三次握手”,TCP的四次挥手协议在网络数据流的基础上,进一步提高理论联系实践的能力。二,实验环境:操作系统为Windows7,抓包工具为Wireshark,要求主机能够连进互联网。三,实验原理:TCP协议是在计算机网络中使用最广泛的协议,很多的应用服务
5、如FTP,HTTP,SMTP等在传输层都采用TCP协议,因此,如果要抓取TCP协议的数据包,可以在抓取相应的网络服务的数据包后,分析TCP协议数据包,深入理解协议封装,协议控制过程以及数据承载过程。四,实验步骤:FTP在传输层采用的是TCP协议,所以此次实验选取FTP服务,本次抓包过程将采用显示过滤器的方法来过滤数据包。1,确定目标地址:选择ftp.lib,hdu.edu.cn为目标,选择应用服务FTP中的TCP协议包作分析2,启动抓包:无需设置过滤器,直接开始抓包3,使用FTP服务:Wires
6、hark数据捕捉开始后,在主机的命令行提示符下使用FTP指令链接目标主机的FTP服务器,在默认的情况下,FTP服务器支持匿名访问,本次链接的的用户名是anonymous,密码是User@,如图2-1图2-14,通过显示过滤器得到先关数据包:通过抓包获得大量的数据包,为了对数据包分析的方便,需要使用过滤器,添加本机IP地址和TCP协议过滤条件。在工具栏上的Filter对话框中填入过滤条件:tcpandip.addr==192.168.156.236,根据分析找到“TCP三次握手”中的一个包,在此信
7、息上右键点击选择【FollowTCPStream】,弹出的信息如图2-2,图2-2以上的设置时为了获得更好的得到过滤后的相关性更强的数据包5,分析数据包:得到的结果如图2-3图2-3第一次”握手“:客户端发送一个TCP,标志为SYN,序列号Seq的相对值为0,真值为Seq.No=b09c71a5,代表客户端请求建立连接,如图2-4图2-4第二次“握手”:服务器发回确认包,标志位为SYN,ACK,将确认序号ACK.No(AcknowledgementNumber)设置为客户的Seq+1,即相对值0
8、+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=