Wireshark分析IP数据报

时间:2024-03-19 20:01:24

Wireshark分析IP数据报

1. IP数据报格式

  1. 总概

Wireshark分析IP数据报
2. IP数据报首部的固定部分各字段

  • 版本【4位】:IPv4或IPv6
  • 首部长度【4位】:单位是32bit(4字节),比如:首部最小长度为20字节,此时为:0101(5);因此可以推测首部最大长度为15*4字节=60字节,而且数据部分永远是4字节的倍数。
  • 区分服务【8位】:旧称服务类型,1998改为Differentiated Services
  • 总长度【16位】:首部和数据之和。单位字节,因此数据报最大长度为2^16-1字节
  • 标识【16位】:超过MTU分片时,同一源的该字段相同,便于重新组装
  • 标志【3位】:
    • MF【1位】:More Fragment,1还有分片,0分片最后一个
    • DF【1位】:Don’t Fragment,0允许分片
  • 片偏移【13位】:较长分组后,某片在原分组的相对位置,单位8字节
  • 生存时间【8位】:TTL,Time To Live,数据包在网络中的寿命,现用跳数为单位
  • 协议【8位】: 指出携带数据使用的协议,便于目的主机IP层对应协议处理
    • ICMP(1)IGMP(2)IP(4)TCP(6)、EGP(8)、IGP(9)、UDP(17)、IPv6(41)、ESP(50)、OSPF(89)
  • 首部校验和【16位】:只校验数据报首部,不包含数据部分,没经过一个路由器都会重新校验
  • 源地址【32位】:顾名思义
  • 目标地址【32位】:顾名思义

2. 使用Wireshark分析IP数据报

  1. 打开Wireshark,选择监听的接口。此处由于我使用的是无线,故使用WLAN。

    Wireshark分析IP数据报

  2. 为方便查看,先停止监听。

    Wireshark分析IP数据报

  3. 在cmd中使用ping命令,ping目的主机,同时使用Wireshark监听数据

    Wireshark分析IP数据报

  4. 监听若干秒后,停止监听。

  5. 按照协议排序,其中下图中的ICMP的即是捕获到ping命令的数据包。(ping是ICMP协议的命令)

    Wireshark分析IP数据报

  6. 单击source为本身IP地址,查看其数据内容

    Wireshark分析IP数据报

  7. 以上捕获IP数据报首部含义

    字段 含义
    IP协议版本号 IPv4
    服务类型 0x00(DSCP:CS0,ECN Not-ECT)
    IP报文头长度 20 bytes ,说明没有使用可选字段
    数据报总长度 60
    标识 0x0b96(2966)
    数据报是否要求分段 Not set
    分段偏移量 0
    在发送过程中经过几个路由器 128-128=0,同一网段内
    上层协议名称 ICMP
    报文头校验和 0xabc9
    源地址 192.168.1.5
    目标地址 192.168.1.3