在网络中我们经常使用到一些命令,而网络传输所用的大多数都是数据流,那么我们能否使用一些工具来查看网络中的数据流到底是什么样子的呢?
使用Wireshark抓取数据包:
(1) 在linux下使用PING命令,抓取ping www.baidu.com后的若干个数据包分析。写出源ip地址,目的ip地址,IP标识,总长度,TTL值这几项。
先linux下使用PING命令:ping www.baidu.com
然后分析网络中报文内容,获得源地址:192.168.0.103,目的地址:180.101.49.12;在数据包中展示如下:
然后查看IP标识Identification: 0x6044 (24644):
再查看总长度60:
最后查看TTL值:
(2) 通过筛选得到ARP数据包,分析某个ARP数据包,硬件类型,协议类型,发送源IP地址,发送源MAC地址,目的MAC地址,目标主机IP地址。
硬件类型Ethernet(1):
协议类型:Ipv4;
发送源IP地址192.168.0.103:
发送方MAC地址(1c:4d:70:ba:a8:6f):
接收方IP地址(192.168.0.1):
接收方MAC地址 (f4:83:cd:33:e9:2b):
(3) Tracert跟踪百度
然后在linux下使用traceroute命令,跟踪百度www.baidu.com,用wireshark 捕捉traceroute 程序使用的icmp 报文,显示该数据包的TTL域;
由于ICMP报文往往封装在IP数据报里面,所以外层是IP数据报,内层为真正的ICMP报文,我们先查看外层IP数据报的TTL:
再查看内部的icmp数据报的TTL:
由于这是一个返回超出时间限制的ICMP报文,所以TTL为1;
(4)对TCP三次握手过程进行抓包分析,并通过Wireshark的Analyze分析出tcp握手过程,通过截图体现传输内容。
1、捕获大量的由本地主机到远程服务器的TCP分组;
2、浏览追踪信息
在显示筛选规则编辑框中输入“tcp”,可以看到在本地主机和服务器之间传输的一系列tcp和HTTP消息,你应该能看到包含SYN Segment的三次握手。通过Analyze的Follow TCP Stream分析出传输内容。写出其中某TCP数据包的源IP地址,目的IP地址,源端口,目的端口,窗口大小。
首先根据seq与ack字段的值确定三次握手的过程:
三次握手的理解如下:
然后利用Analyze中的Follow TCP Stream来抓取数据包:
根据数据内容可知,上述操作只抓取了TCP报文内的数据内容,而过滤了首部信息;
然后选取一个数据包进行分析:
源IP地址(40.90.189.152):
目的IP地址(192.168.0.3):
源端口与目的端口(443,50855):
窗口大小(1460):