(首先声明一下我也是一名小白,初学wireshark没多久,我也很愿意和大家一起讨论wireshark的具体应用。)
本实验使用的版本是wireshark2.4.7版,选择“捕获”-“选项”。
选择当前连的网,一般选择流量“起起伏伏”的那个接口。
此时会有海量的数据包,为了便于分析,我们使用过滤器输入“ip.src==192.168.1.1”以筛选出源地址为192.168.1.1的报文。
双击点击一条tcp报文进入详细信息,为什么不选Protocol类型为IP的协议呢?答案是没有,tcp报文正是基于ip协议的,tcp是传输层协议,而ip是它底下的网络层协议。
如下图,框起来的部分是一个完整IPV4报文。
图A
具体字段含义如下图
图B
重点关注几个字段:
Version:4 这里指的是IPv4,两张图都是一样的。
Header Length:20 bytes:IPv4的首部是固定的,就是20字节。
Total Length:图A的是895图B的是60,代表IP报文总长度,报文总长度不能超过1500字节,否则需要分片。1500字节的限制是以太网在数据链路层带来的。IP数据部分最大长度1480,头部20字节。
Don’t fragment:图A为1表示不能被分割,图B为0表示可以。
More fragments:图A和图B 均为0,表示没有后一个分片。
Time to live:代表还剩余多少跳被丢弃,即还可以经过多少个路由器,两边都是64。设置该字段的目的在于防止网络环路。
Protocol:上层的协议,比如tcp,udp。
Source,Destination:源地址,目的地址。家里的网络一般是192.168开头的,这是一个典型的本地地址。
这里有一个有趣的现象,很多的包都是源地址是192.168.1.1目的地址是192.168.1.12,这是为什么呢?我们可以先进入cmd输入一个熟悉的指令ipconfig。
发现源地址192.168.1.1的含义为本地默认网关,也就是路由器在内网的地址,而目的地址192.168.1.12为本地计算机在内网的ip。说明这个包是路由器发到本机上的,这是我们访问互联网时时路由器从互联网上获得IP报文再发到本机上的过程。