Wireshark抓包实验说明.docx
- 文档编号:24160090
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:38
- 大小:2.75MB
Wireshark抓包实验说明.docx
《Wireshark抓包实验说明.docx》由会员分享,可在线阅读,更多相关《Wireshark抓包实验说明.docx(38页珍藏版)》请在冰豆网上搜索。
Wireshark抓包实验说明
Wireshark抓包实验说明
Wireshark是世界上最流行的网络分析工具。
这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。
Wireshark的优势:
-安装方便。
-简单易用的界面。
-提供丰富的功能。
一、安装并运行wireshark开始捕获数据包,
从Capture选项下面选择Options。
然后在下图中选择你的网络适配器,并运行start开始捕获数据包。
二:
wireshark查看软件说明
在下图中,第一列是捕获数据的编号;
第二列是捕获数据的相对时间,从开始捕获算为0.000秒;
第三列是源地址,第四列是目的地址;
第五列是所涉及的协议类型。
图中窗体共分为三部分,最上面的部分显示每个数据包的摘要信息,中间部分显示每个数据包的详细信息,最下面的部分显示数据包中的实际数据,以十六进制表示。
三:
过滤器的使用
在下图中,可以选择Expression菜单中的选项过滤,只保留需要查看的信息。
例如只查看以本机192.168.0.102作为主机接受和发送的数据包,就在Expression中选中IPv4里面的ip.host,还可以同时选中某个Relation关系,并填入过滤值。
如果同学们熟悉了表达式的填写,也可以直接在Filter框中手动输入表达式:
ip.host==192.168.0.102(本机的IP)然后点击Apply按钮就可以查看本机的所有包了。
如果你想再缩小查看范围,还可以输入成:
ip.host==192.168.0.102andip.host==192.168.0.101这就是把两台主机同时限定。
其他表达式同学们可以自己尝试使用。
四:
ICMP数据报
在上述已经过滤好的情况下,可以再命令行中输入ping某台主机的命令,然后在下图中可以看到最新的活动数据,即ICMP数据包。
也可以直接在filter中输入icmp相关的过滤表达式,单击“start”按钮开始网络数据包捕获。
打开“命令提示符”窗口,使用“Ping”命令测试本机与网关的连通性。
在使用“Ping”命令测试本机与网关的连通性时,本地计算机向网关发送4个ICMP数据包,网关也会向本地计算机发送四个应答报文。
因此,这8个报文将被网络协议分析软件捕获。
单击“Stop”按钮,中断网络协议分析软件的捕获进程,主界面显示捕获到的ICMP数据包。
观察第一帧的数据包结构:
此ICMP数据包的包结构如图所示:
类型(0或8)
代码(0)
检验和
标识
序列号
可选数据
ICMP报文是由首部和数据段组成。
首部定长的8个字节,前4个字节是通用部分,后4个字节随报文类型的不同而有所差异。
InternetControlMessageProtocol(ICMP,因特网控制报文协议)
类型:
8,表示是一个ICMP回显请求报文;(1个字节)
代码:
0,表示网络不可达;
校验和:
表示ICMP的0x4d38;使用IP校验和的算法。
标识(BigEndian,大端):
1(0x0001)
标识(LittleEndian,小端):
256(0x0100)
序列号(BigEndian,大端):
35(0x0023)
序列号(LittleEndian,小端):
8960(0x2300)
[回应在:
2],表示由主机发送回应。
数据:
表示是一个32字节的数据。
上图:
我的主机的IP地址为:
10.2.136.33
目的主机的IP地址为:
202.117.145.153
上图:
ICMP类型:
8(回显请求)
ICMP编码:
0
ICMP报文其他字段包括:
checksum(2字节)、identifier(2字节)、sequencenumber(2字节)、sequencenumber(LE)、datafields.
上图是:
ICMP错误数据报包括;所有IP字段和原来的ICMP字段。
五:
各层次数据说明:
物理、MAC、IP、TCP
上面是用Wireshark软件进行抓包数据分析的截屏,下面将选取1号帧作为代表分析相应的数据:
Ø数据帧的相关信息
此帧编号为0;
获取时间为0;
源地址为115.25.3.36;
目的地址为119.75.220.47;
高层协议为TCP;
包长度为66个字节;
包内信息概况:
源端口:
upgrade;目的端口:
http;upgrade>http[SYN]表示源端口向目的端口请求建立TCP连接。
Ø物理层的数据帧状况
从图中可以看出:
1号帧,线路上有66字节,实际捕获66字节,捕获时间为2012年4月2日10:
27:
29,测试时间为1333333649.249710000秒,此包与前一捕获帧的时间间隔为0秒,与前一个显示帧时间间隔为0秒,与第一帧的时间间隔为0秒,帧号为1,帧长为66字节,捕获长度为66字节,此帧没有被标记且没有被忽略,帧内封装的协议结构为TCP数据协议,用不同颜色染色标记的协议名为HTTP,染色显示规则字符串为http||tcp.port==80。
Ø数据链路层以太网帧头部信息
此包为以太网协议版本2,源地址为Asustekc_73:
83:
e2(48:
5b:
39:
73:
83:
e2),说明本机的网卡是由华硕厂家提供的,其网卡地址为48:
5b:
39:
73:
83:
e2;目标地址为Hangzhou_3b:
1c:
72(00:
23:
89:
3b:
1c:
72),说明本机的网卡是Hangzhou厂家生产的,网卡地址为00:
23:
89:
3b:
1c:
72。
帧内封装的上层协议类型为IP,十六进制代码为0800。
Ø互联网层IP报头信息
互联网协议IPv4,源地址为115.25.3.36,目标地址为119.75.220.47,IP版本号为4,包头部长度为20字节,差分服务字段为0x00(DSCP0x00:
Default;ECN:
0x00),表示一个特定的上层协议所分配的重要级别,默认的DSCP值是0,相当于尽力传送,ECN字段被分为ECN-CapableTransport(ECT)bit和CEbit,ECTbit设置为“0”表明该传输协议将忽略ignoreCEbit,CEbit将由路由器设置,设置为0说明对末端节点不挤塞,IP包的总长度为52字节,标志字段为18330,标记字段为0x02,没有分片,分片的偏移量为0,生存期为64,当减少为0时,该数据包将被丢弃以保证数据包不会无限制的循环,上层协议为TCP,报头的检验和显示为正确。
Ø传输层TCP头部信息
用户数据包协议的源端口为upgrade(2537),目标端口为http(80),序列号(相对序列号)为0,长度为32字节,标记字段为0x02(SYN),表示请求建立TCP连接,流量控制窗口大小为8192,TCP校验和为0xf834,报头的检验和显示为正确。
可选项为12字节。
Ø对应的十六进制代码
该段十六进制代码对应着上述的相关信息,例如:
选择第一行的0023893b1c72,对应的是目标地址的网卡地址;第一行485b397383e2对应的是源地址的网卡地址;0800对应的是IP的类型;45对应的是报头信息的长度等。
六:
捕获并分析地址解析协议(ARP)
打开“命令提示符”窗口,使用“C:
\Windows\System32\ARP.EXE–a”命令查看本地计算机ARP高速缓存。
使用“C:
\Windows\System32\ARP.EXE–d”命令清楚高速缓存,再使用“C:
\Windows\System32\ARP.EXE–a”命令查看。
打开WireShark,选择菜单命令“Capture”—“Options”,弹出对话框,在“Capturefilter”字段中输入“arp”,单击“Start”按钮。
此时,网络协议分析软件开始捕获数据,在“命令提示符”窗口中PING同意子网中的任意主机。
因为PING命令的参数为IP地址,因此使用Ping命令前,需要使用ARP机制将IP地址转换为MAC地址,这个过程用户是无法感知的。
因为我们在使用PING命令前已经开始网络数据包捕获,因此,此时网络协议分析软件将捕获到ARP解析数据包。
单击“Stop”按钮,中断网络协议分析软件的捕获进程,主界面显示捕获到的ARP数据包。
观察第一帧的数据包结构:
AddressResolutionProtocol(request)地址解析协议(请求):
硬件类型:
以太网
(1)(2字节)
协议类型:
IP协议(0x0800)(2字节)
硬件地址长度:
6(1字节)
协议地址长度:
4(1字节)
操作类型:
请求
(1)(2字节)
[是否免费:
否]
发送方MAC地址:
Asustekc_73:
83:
e2(48:
5b:
39:
73:
83:
e2)(6字节)
发送方IP地址;115.25.3.36(115.25.3.36)(6字节)
目的MAC地址:
Hangzhou_3b:
1c:
72(00:
23:
89:
3b:
1c:
72)(6字节)
目的IP地址:
115.25.3.1(115.25.3.1)(6字节)
观察第二帧的数据包结构:
AddressResolutionProtocol(request)地址解析协议(应答):
硬件类型:
以太网
(1)(2字节)
协议类型:
IP协议(0x0800)(2字节)
硬件地址长度:
6(1字节)
协议地址长度:
4(1字节)
操作类型:
应答
(1)(2字节)
[是否免费:
否]
发送方MAC地址:
Hangzhou_3b:
1c:
72(00:
23:
89:
3b:
1c:
72)(6字节)
发送方IP地址;115.25.3.1(115.25.3.1)(6字节)
目的MAC地址:
Asustekc_73:
83:
e2(48:
5b:
39:
73:
83:
e2)(6字节)
目的IP地址:
115.25.3.36(115.25.3.36)(6字节)
ARP协议的工作过程是:
a.要发送IP数据报的主机调用该主机上的ARP实体发送一个ARP请求数据报,其中的目标IP地址域(targetIPaddress)包含接收端的IP地址,该请求数据报被封装在一个广播帧中,网络上的所有节点都必须接收该帧;接收到ARP请求的所有ARP实体从请求中取出目标IP地址和本机地址进行比较。
b.如果地址不同,就将请求丢弃;如果地址相同,则发回一个ARP应答数据报,给出本机的IP地址和MAC地址,ARP永达数据报同样被封装在一个广播帧中。
以下为抓得的广播与应答:
广播:
应答:
再查看当前arp项,已被应答:
分析:
每个主机都有一个arp缓存对应的IP地址与MAC地址,当主机A发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。
如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,即表示向同一网段内的所有主机发出这样的询问:
“118.229.212.1的MAC地址是什么?
”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:
“118.229.212.1的MAC地址是00-23-89-b4-cf-81”。
这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。
同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找即可找到。
我们再命令行键入arp–a查看当前arp项显示表明已找到。
七:
IP数据报查看:
以下各图可以查看ICMP数据报文中的各项信息,注意ICMP数据报文是包装在IPV4协议,作为IP数据报的一部分传输的。
在上图中,56-20=36就是IP数据报的数据部分的长度。
还可以从下面的flag和offset中查看,IP数据报是否分片发送。
从下图中可以查看验证字段,以及TTL字段的值分别是多少。
下图是完整截图:
第一个字节:
高四位为4表示版本为ipv4,低四位为5表示首部长20个字节
第二个字节:
区分服务为0x00
第三及第四个字节:
总长度0x02eb,表示总长度为747个字节
第五及第六个字节:
标识为0xea8a
第七及第八个字节:
高三位为标志其中MF=0DF=0不能分片低13位为0表示片偏移为0
第九个字节:
0x3a表示该ip数据报生存时间为58
第十个字节:
0x06表示采用的是TCP协议
第十一及第十二个字节:
0xda51为首部校验和
第十三至第十六字节:
为源地址115.25.216.20
第十七至第二十字节:
为目的地址59.64.242.194
八:
FTP服务的ftp包:
打开WireShark,选择菜单命令“Capture”—“Options”,弹出对话框,单击“Start”按钮。
打开浏览器,输入校内FTP网址。
之后单击“Stop”按钮,截图如下。
截图中,客户端(C:
ip地址为2001:
da8:
208:
300c:
24cd:
7ab6:
b511:
6ef6)通过浏览器访问FTP服务器(S:
ip地址为2001:
da8:
208:
10:
:
11)。
从59号帧开始,客户端和服务器对话如下:
【59】S:
220(USTB的FTP服务器[ipv6模式]准备就绪,执行新用户请求)
【60】C:
USERanonymous(系统登录用户名是匿名的)。
【62】S:
331(用户名正确,需要密码)。
【63】C:
PASSUser@(系统登录密码User@)。
【64】S:
230(用户已登录)。
【65】C:
CWD/(更换文件目录,Changeworkingdirectory)。
【66】S:
250(目录已成功更换)。
【67】C:
TYPEA(数据类型要求ASCII)。
【68】S:
200(确认命令,已经转换到ASCII模式)。
【69】C:
EPSV(针对IPV6的被动模式。
IPV4的主、被动模式分别为PORT、PASV,IPV6分别为EPRT、EPSV)。
【70】S:
229,EnteringExtendedPassiveMode(这是一个报错,在DOS环境下需Ctrl+C然后键入EPSV4OFF,但浏览器下未进行操作)。
【74】C:
LIST(如果是文件名列出文件信息,如果是目录则列出文件列表)。
【75】S:
150(打开连接目录)。
【76】S:
FTPData(411个字节)。
【81】S:
226(关闭数据连接,请求操作成功)。
下面以63号帧、64号帧为例依次分析ftp协议的请求包和接收包。
Øftp协议请求包
Requestcommand表示客户端的请求命令(PASS,表示系统登录密码);
Requestarg表示客户端的请求参数(User@,即要输入的登录密码)。
Øftp协议接收包
Responsecode表示服务器的响应代码(230,即用户已登录,继续进行);
Responsearg表示服务器的响应参数(Loginsuccessful,登录成功)。
九:
UDP包:
打开WireShark,选择菜单命令“Capture”—“Options”,弹出对话框,在“Capturefilter”字段中输入“udp”,单击“Start”按钮。
单击“Stop”按钮,获得如上截图。
选4号帧进行分析:
数据帧的相关信息:
此帧编号为4;
获取时间为7.030028;
源地址为115.25.3.5;
目的地址为224.0.0.100;
高层协议为UDP;
包长度为281个字节;
包内信息概况:
源端口:
4466;目的端口:
4466。
下面对UDP协议进行分析:
UDP包结构图如下图所示:
源端口号
目的端口号
长度
校验和
应用数据(消息)
源端口号:
4466(4466)
目的端口号:
4466(4466)
长度:
247
校验和:
0x6cae
应用数据:
经过编码后的多媒体数据:
45bb0003000000ef83……
长度:
239
十:
TCP包:
打开WireShark,选择菜单命令“Capture”—“Options”,弹出对话框,在“Capturefilter”字段中输入“tcp”,单击“Start”按钮。
单击“Stop”按钮,截图如上。
选6号帧进行分析:
数据帧的相关信息:
此帧编号为6;
获取时间为5.529539;
源地址为115.25.3.36;
目的地址为123.125.114.101;
高层协议为TCP;
包长度为62个字节;
包内信息概况:
源端口:
ipr-dglt;目的端口:
http;ipr-dglt>http[SYN]表示源端口向目的端口请求建立TCP连接。
下面对TCP协议进行分析:
TCP包结构图如下图所示:
源端口号
目的端口号
首字节序号
接受字节序号
TCP头长度
URG
ACK
PSH
RST
SYN
FIN
发送字节数
校验和
紧急数据指针
可选项(0或多个32位的数据)
源端口:
ipr-dglt(3678);
目标端口:
http(80);
序列号:
0(相对序列号);
长度:
28字节;
标记字段:
0x02(SYN),表示请求建立TCP连接;
流量控制窗口大小(发送字节数):
8192;
TCP校验和:
0xf834;
可选项:
8字节。
十一:
TCP三次握手:
打开WireShark,选择菜单命令“Capture”—“Options”,弹出对话框,在“Capturefilter”字段中输入“tcp”,单击“Start”按钮。
点击“Stop”按钮,截图如下。
首先分析tcp三次握手。
由上图观察到,2号帧、3号帧、4号帧就是三次握手过程。
在下面分析中,为了简便化,我们将ip地址为115.23.3.36的设备记为A,把ip地址为121.194.0.185的设备记为B。
下面对其依次分析:
第一次握手:
从上图知,第一次握手,SYN=1,Seq=0(相对序号);A发送SYN包到B,告诉B设备A要与其建立通信连接,该段首部的同步标志SYN被置为1,并在首部中填入本次连接的客户端的初始段序号Seq(本例中Seq=6955ac9,相对序号为0);源端口号为A的端口号:
1902,目的端口号为B的端口号:
80,TCPFLAGS中ACK和SYN位是0、1。
第二次握手:
从上图知,第二次握手,SYN=1,ACK=1(相对确认序号),Seq=0(相对序号);B收到请求后,发回连接确认(SYN+ACK),该段首部中的同步标志SYN被置为1,表示认可连接,首部中的确认标志ACK被置为1,表示对所接收的段的确认,与ACK标志相配合的是准备接收的下一个序号(Ack=6955acda,相对确认序号1),该段还给出了自己的初始序号(Seq=07e3ebf2,相对序号0),对请求段的确认完成了一个方向上的连接;源端口号为B的端口号:
80,目的端口号为A的端口号:
1902,TCPFLAGS中ACK和SYN位是1、1。
第三次握手:
由上图知,第三次握手,ACK=1(相对确认序号),Seq=1(相对序号);a向B发出的确认段,段首部中的确认标志ACK被置为1,表示对所接收的段的确认,与ACK标志相配合的准备接收下一序号被设置为收到的段序号加1(Ack=07e3ebf3,相对确认序号1),完成了另一个方向上的连接;源端口号为A的端口号:
1902,目的端口号为B的端口号:
80,TCPFLAGS中ACK和SYN位是1、0。
第三次握手完成后,便可以开始实际数据的传输了。
Ø打开WireShark,选择菜单命令“Capture”—“Options”,弹出对话框,在“Capturefilter”字段中输入“tcp”,单击“Start”按钮。
点击“Stop”按钮,截图如下。
分析tcp四次挥手。
由上图观察到,24号帧、25号帧、26号帧、27号帧就是四次挥手过程。
在下面分析中,为了简便化,我们将ip地址为114.245.180.153的设备记为A,把ip地址为115.23.3.36的设备记为B。
下面对其依次分析:
数据传输结束后,通信的双方都可释放连接。
第一次挥手:
由上图知,第一次挥手,A先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接;A把连接释放报文段首部的FIN置为1,其序号Seq=ff57e06a(相对序号252),等待B的确认;此时ACK=1,FIN=1,Seq=u=252(相对序号),准备释放连接。
源端口号为A的端口号:
7004,目的端口号为B的端口号:
2434,TCPFLAGS中ACK和FIN位是1、1。
第二次挥手:
从上图知,ACK=1,Seq=v=a0db446c(相对序号245),Ack=u+1=ff57e06b(相对确认序号253)B发出确认,确认号Ack为u加1(Ack=ff57e06b,相对确认序号253);此时,从A到B这个方向的连接就释放了,TCP连接处于半关闭状态,即A已经没有数据要发送了,但是B若发送数据,A仍接收。
源端口号为B的端口号:
2434,目的端口号为A的端口号:
7004,TCPFLAGS中ACK和FIN位是1、0。
第三次挥手:
从上图知,FIN再次被置为1,ACK=1,Seq=w=a0db446c(相对序号245),Ack=u+1=ff57e06b(相对确认序号253);若B已经没有要向A发送的数据,其应用进程就通知TCP释放连接。
这时,B发出的报文必须是FIN=1,B还必须重复上次已经发送过的确认号Ack=u+1。
这时,B就进入了LAST-ACK状态,等待A的确认。
源端口号为B的端口号:
2434,目的端口号为A的端口号:
7004,TCPFLAGS中ACK和FIN位是1、1。
第四次挥手:
从上图知,ACK=1,Seq=u+1=ff57e06b(相对确认序号253),Ack=w+1=a0db446d(相对确认序号246);当A收到B的连接释放报文后,必须对此发出确认。
在确认报文段中,把ACK置为1,确认号Ack=w+1,而自己的序号是Seq=u+1。
源端口号为A的端口号:
7004,目的端口号为B的端口号:
2434,TCPFLAGS中ACK和FIN位是1、0。
此时,四次挥手结束。
十二:
SMTP:
ØSMTP协议
打开WireShark,选择菜单命令“Capture”—“Options”,弹出对话框,单击“Start”按钮。
在filter字段中输入“smtp”。
单击“stop”按钮,截图如下。
截图中,客户端(C:
ip地址为115.25.3.36)通过浏览器访问FTP服务器(S:
ip地址为123.125.50.133)。
从618号帧开始,客户端和服务器对话如下:
【618】C:
MAILFROM:
zhou429234821@,发送者邮箱;
【619】S:
250MailOK,操作完成;
【620】C:
RCPTTO:
429234821@,接收者邮箱;
【621】S:
250MailOK,操作完成;
【622】C:
DATA,请求发送数据;
【623】S:
354Enddatawith
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Wireshark 实验 说明