了解网络协议分析软件的过滤方式和原则,包括:按协议类型过滤,按IP地址过滤,按协议模式过滤,按端口过滤等,通过设置不同的过滤条件,熟悉协议类型、端口、协议等概念;分析以太网数据帧的构成,数据链路层将不可靠的物理层转变为一条无差错的链路,涉及的数据单位是帧(frame),高层的协议数据被封装在以太网帧的数据字段发送。使用网络协议分析软件可以捕获各种协议数据包,通过查看这些协议数据包中数据链路帧的各字段可以分析网络协议的内部机制。
(1)按协议类型过滤
Wireshark支持的协议包括 TCP、UDP、ARP、ICMP、HTTP、SMTP、FTP、DNS、MSN、IP、SSL、OICQ、BOOTP等,例如只查看HTTP协议,则直接输入http。
(2)按IP地址过滤
若只要显示与指定IP(例如192.168.1.123)通信的记录则可输入id.addr = = 192.168.1.123。
如果要限制为源IP为192.168.1.123则输入ip.src = = 192.168.1.123;
如果要限制为目的IP为192.168.1.123,则输入ip.dst = = 192.168.1.123。
(3)按协议模式过滤
例如HTTP协议,可以针对HTTP的请求方式进行过滤,只显示发送GET或POST请求的过滤规则:http.request.method = = “GET”
或 http.request.method == “POST”
(4)按端口过滤
tcp.dstport = = 80 // 只显tcp协议的目标端口80
tcp.srcport == 80 // 只显tcp协议的来源端口80
tcp.port eq 80//不管端口是来源的还是目标的
(5)按MAC地址过滤
例如以太网头过滤,
eth.dst = = A0:00:00:04:C5:84 // 过滤 目 标mac
eth.src eq A0:00:00:04:C5:84 // 过 滤 来源mac
eth.addr eq A0:00:00:04:C5:84 // 过滤 来 源MAC和目标MAC都等于A0:00:00:04:C5:84的
(6)按包长度过滤
udp.length = = 26, 这个长度是指udp本身固定长度8加上udp下面那块数据包之和 ;
tcp.len >= 7 , 指的是ip数据包(tcp下面那块数据),不包括tcp本身;
ip.len = = 94, 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后 ;
frame.len = = 119 ,整个数据包长度,从eth开始到最后
(7)按参数过滤
例如按TCP参数过滤:
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn = = 0x02 显示包含TCP SYN标志的封包。
tcp.window_size = = 0 && tcp.flags.reset != 1
(8)按过滤内容
例如:
tcp[20] 表示从20开始,取1个字符
tcp[20:]表示从20开始,取1个字符以上
tcp[20:8]表示从20开始,取8个字符
(9)采用逻辑运算过滤
过滤语句可利用&&(表示“与”)、||(表示“或”)和!(表示“非”)来组合使用多个限制规则,例如(http && ip.dst ==192.168.1.123 )。要排除arp包,则使用!arp或者not arp。
计算机以太网环境及Wireshark网络协议分析软件
(1)打开网络协议分析软件(Wireshark),选择菜单命令“Capture”“Options”子菜单项。弹出“Wireshark: Capture Options”对话框。在Capture中选择网卡。单击“Start”按钮开始网络数据包捕获。在Filter过滤框中输入下面的过滤规则,分析相应过滤规则的含义并截图。
由上图知,我应该选择WLAN,看物理地址和ip地址均可以确定。
查看着色规则
按协议类型过滤
Filter输入http进行过滤
按IP地址过滤
首先找到百度ip:ping www.baidu.com
百度ip为:39.156.66.18
Wireshark的过滤中输入ip.addr == 39.156.66.18
图中粉色的部分,即蓝色方框内的部分就是刚刚在dos中ping百度的数据包显示。可以看到是发送4个包接受4个包,本机发送的是ICMP回送请求报文,目的主机返回给本主机ICMP回送回答报文。其他部分是我刚刚访问了百度。如果即没有ping过目的ip也没有访问过该网站,与网站没有交流。那么图中过滤后应为空白。
按端口过滤
tcp.dstport == 80 // 只显tcp协议的目标端口80,可以看到有一些黑底红字的bad tcp。
按MAC地址过滤
此处过滤输入:dst==78-2B-46-CE-EB-90
由于是本机的物理地址,(本机现在的ip为192.168.2.108)所以显示的所有destination的ip均为192.168.2.108.往下翻找可以找到刚刚ping百度时得到的百度发往本机的icmp回送回答报文。
采用逻辑运算过滤
http && ip.addr == 202.38.64.246,ip为中国科学技术大学的官网。表示过滤的是http协议和中科大官网ip地址。可以看到下面第一幅图,一开始是空白的,原因是我完全没有访问过这个网站,所以搜索并点击进入中科大官网,随便点入一栏进入,就可以看到wireshark里面立马有了许多符合筛选条件的记录。
清空浏览器缓存,然后在浏览器中访问某个网页,同时用wireshark抓包,过滤掉网络层及以上的包,例如:在 Analyze->Enabled Protocols 中选择禁用 IPv4,便于找到链路层数据帧;附上抓获的以太网数据帧截图,写出其目的地址、源地址、上层协议、数据字段的某些标识性 ASCII 码字符等内容。
目前有四种类型的以太网数据帧,下面的分析是Ethernet II类型的分析。需要知道的是在该软件中,显示的帧长度是过滤掉前导同步码和帧校验fcs序列以后的长度。
分析最上面一条帧序号为34501的记录
帧长度74字节+FCS四字节(被过滤掉此处不显示),78字节符合要求大于64字节,且小于1518字节。
目的站物理地址: (b4df:ee:d9:e0)
源站即本机物理地址: (78:2b:46:ce:eb:90)
类型Type: IPv4 (0x0800)
此处数据部分为ip数据包,总长度为60字节,大于46字节小于1500字节,符合要求(小于46字节时会加上垫片)。还可以看到源IP地址和目标主机的ip地址,它们被包含在ip数据报的IP首部中,也就是在数据链路层对应帧的数据部分。
网络层是IPv4协议,以及icmp协议 类型为echo回送回答。
ARP 请求与响应报文
在cmd窗口清空arp缓存,然后ping本局域网上的某个活跃主机,抓包,抓包时过滤掉网络层及以上的包,找出其中查找被ping主机对应 MAC 地址的 ARP 请求与响应报文。
清除arp缓存前先查看,然后选ip地址为192.168.1.1的为目标
1) 附上该ARP响应报文截图,分析该ARP响应报文的内容,是谁向谁请求,其IP地址对应的mac地址。
Arp请求是本主机发出,目标IP接收,arp响应则反过来,发送方是选定ip,接受方为本主机。
arp请求报文(目的mac地址为广播地址,因为此时不清楚目的ip地址的物理地址)
Sender MAC address: IntelCor_ce:eb:90 (78:2b:46:ce:eb:90)
Sender IP address: 192.168.1.6
Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)
Target IP address: 192.168.1.1
Arp响应报文(此时目的IP的mac地址便可知晓)
Sender MAC address: zte_ee:d9:e0 (b4df:ee:d9:e0)
Sender IP address: 192.168.1.1
Target MAC address: IntelCor_ce:eb:90 (78:2b:46:ce:eb:90)
Target IP address: 192.168.1.6
2) 附上以太网mac帧的详细内容截图,并根据截图,分析其目的地址、源地址、上层协议等内容。
arp请求报文,目的地址是广播地址,源地址是本机物理地址。上层协议为ipv4。
Arp响应报文,目的地址是本机物理地址,源地址是想要知道的ip地址对应的物理地址。上层协议为ipv4。
浏览某个网页,用wireshark抓包
获取http协议下的数据包
找出请求与响应的数据包并截图,以太网帧中本机的地址与目标主机的地址,并说明http信息与以太网帧之间的关系
1) 附上该报文截图,分析该报文的内容
http,tcp,ipv4,Ethernet II,帧
http信息和以太网帧关系:HTTP GET信息被封装在TCP分组中,TCP分组又被封装在IP数据报中,IP数据报又被封装在以太网帧中)。在分组明细窗口中展开Ethernet II信息。
2) 附上以太网mac帧的详细内容截图,并根据截图,分析其目的地址、源地址、上层协议等内容。
Destination Address: 36.155.116.38
Destination: zte_ee:d9:e0 (b4df:ee:d9:e0)
Source Address: 192.168.1.6
Source: IntelCor_ce:eb:90 (78:2b:46:ce:eb:90)
上层协议ipv4、tcp
在实验中遇到了哪些问题,如何解决的,获取了什么启发。?
目前有四种类型的以太网数据帧,此实验分析是Ethernet II类型的分析。需要知道的是在该软件wireshark中,显示的帧长度是过滤掉前导同步码和帧校验fcs序列以后的长度。
Arp请求是本主机发出,目标IP接收,arp响应则反过来,发送方是选定ip,接受方为本主机。arp请求报文,目的mac地址为广播地址,因为此时不清楚目的ip地址的物理地址。