一、实验目的
使用Wireshark软件对网卡上的数据包进行抓取,分析数据包各字段的含义。
掌握数据链路层、网络层、运输层常用数据包的定义
掌握相关网络命令
二、实验环境
Wireshark软件。
三、实验要求
熟悉wireshark软件。
利用wireshark软件完成实验内容。
提交实验设计报告。
四、实验内容
注意:下面实验环境
本机IP:192.168.0.117 网关:10.203.80.1
本实验非一次性完成,故网关和IP有所变动
1.捕获ARP请求及应答包
要求:分析数据链路层协议中的:源MAC,目的MAC,类型。
ARP协议中:表明是请求的数据;表明是应答的数据;IP 地址和MAC地址之间的关系。
输入命令:arp –a查看当前主机中的ARP表
输入命令:arp –d删除ARP表中所有项
执行ping命令:ping 10.203.48.1 (网关)
抓取网络包:(ARP Request)
抓取网络包:(ARP Reply)
2.捕获ICMP数据包
执行命令:Ping 10.203.80.1(网关)
抓取数据包
ICMP Echo Request
ICMP Echo Replay
针对下列内容对数据包进行分析:
数据链路层中的:源MAC,目的MAC,类型。
IP层:首部长度,总长度;源IP地址,目的IP地址
ICMP协议:ICMP请求字段和ICMP应答字段
3.UDP数据包测试(应用层DNS命令):
命令:nslookup
数据包:
由下图可以看出:
数据链路层中的:源MAC:ac:12:03:5776:8c,目的MAC:48:73:97:e9:10:02,类型:IPv4 (0x0800)。
IP层:首部长度:20字节,总长度:73字节;源IP地址:10.203.83.225,目的IP地址:202.113.112.51。
UDP:源端口:61838,目的端口:53,长度:53字节
...0
由下图可以看出:
数据链路层(Ethernet II协议):
源MAC地址(Source MAC):48:73:97:e9:10:02
目的MAC地址(Destination MAC):ac:12:03:57:76:8c
类型(Type):IPv4 (0x0800)
IP层(IPv4协议):
首部长度(Header Length):20 bytes (5)
总长度(Total Length):73 bytes
源IP地址(Source Address):10.203.83.225
目的IP地址(Destination Address):202.113.112.51
UDP协议:
源端口(Source Port):53
目的端口(Destination Port):61838
长度(Length):53 bytes
4.捕获TCP数据包;捕获三次握手过程和TCP传输过程中双方发送的第一个数据包
输入命令:
打开浏览器访问www.baidu.com
捕获三次握手数据报:
第一次握手:
tcp.flags.syn == 1 and tcp.flags.ack == 0
这个表达式将只匹配SYN标志位设置为1且ACK标志位设置为0的TCP数据包,从而过滤出第一次握手的数据包。确保在Wireshark的过滤器栏中输入这个表达式,然后能够看到只显示第一次握手的数据包。
SYN=1,ACK=0,Seq=2165532158
第二次:使用以下表达式来过滤Wireshark中的网络流量:
tcp.flags.syn == 1 and tcp.flags.ack == 0
这个表达式将过滤显示TCP SYN标志(SYN=1)且确认标志(ACK=0)的数据包,符合第二次握手的条件。使用该表达式进行过滤后,能够看到只显示第二次握手的数据包。
百度回应报文,SYN=1,ACK=1,ack=2165532159,seq=617099527
第三次:使用以下过滤器表达式:
tcp.flags.syn == 1 and tcp.flags.ack == 1 and tcp.flags.fin == 1
这个过滤器表达式会匹配同时具有 SYN、ACK 和 FIN 标志位为 1 的数据包,这符合第三次握手的条件。
客户端回应报文,SYN=0,ACK=1,ack= 617099528,seq=2165532159
客户端发送的第一个HTTP数据报:要过滤出客户端发送的第一个HTTP数据报,可以使用以下过滤器表达式:
http.request.method == "GET"
这个表达式将匹配HTTP请求方法为"GET"的数据包,这通常是客户端发送的第一个HTTP请求。确保在Wireshark的过滤器栏中输入这个表达式,然后应该能够看到只显示客户端发送的第一个HTTP数据报。
客户端发送登陆百度的请求,seq=304900114,ack= 258690210