• Wireshark


    1. 测试机器,源 IP 地址为 10.21.28.110,目的 IP 地址为 10.6.0.24。

    2. 使用 "ip.addr == 10.6.0.24 and icmp" 过滤规则定位数据封包。

    如上图所示,Windows 中 ping 命令默认执行 4 次 ping 程序,所以 Wireshark 会抓到 8 个 ICMP 报文。

    3.  观察第一个编号为 2066 的 Echo (ping) request 数据帧。

    如上图所示,可以看到这个数据帧的结构是:

     Ethernet II 
    IP
    ICMP

    4. 观察 Ethernet II 数据帧的内容。

    Ethernet II 数据帧的格式如下:

    DA SA Type Data FCS

    DA: 该字段有 6 个字节,表示目的 MAC 地址。如上图所示,目的 MAC 地址为 30:37:a6:f6:5a:4f。
    SA: 该字段有 6 个字节,表示源 MAC 地址。如上图所示,源 MAC 地址为 54:ee:75:25:33:fd。
    Type: 该字段有 2 个字节,表示数据包的类型。如上图所示,类型的值为 0x0800,表示 Internet Protocol(IP)。
    Data: 数据载荷。
    FCS: 该字段有 4 个字节,表示帧校验序列,用于校验帧是否出错。该字段内容已被网络设备滤去,抓包软件已无法获取。

    5. 观察 IP 数据包的内容。

    如上图所示,可以看到 IP 数据包的信息:

    Version: 4,表示 IPv4。
    Header Length: 5, 表示 5 个以 32 bit 为单位的 word,即 20 bytes。
    Time to live: 64, 生存时间。
    Protocol: 1,表示 ICMP。
    Source: 10.21.28.110,源 IP 地址。
    Destination: 10.6.0.24,目的 IP 地址。

    6. 观察 ICMP 数据包内容。

    ICMP 数据包的格式如下:

    Type Code Checksum
    Identifier Seq Num
    Data 

    Type: 该字段有 1 个字节,表示特定类型的 ICMP 报文。
    Code: 该字段有 1 个字节,进一步细分 ICMP 的类型。如上图所示,Type 的值为 8,Code 的值为 0,表示回显请求。
    Checksum: 该字段有 2 个字节,表示校验和。
    Identifier: 该字段有 2 个字节,用于匹配 Request/Reply 的标识符。
    Seq Num: 该字段有 2 个字节,用于匹配 Request/Reply 的序列号。
    Data: 数据载荷。

  • 相关阅读:
    blocksit
    getdata
    ASP.net 探针
    301重定向
    webapi
    Unity NGUI UIPanel下对粒子的剪裁
    unity3d 之本地推送
    c#之时间戳与DateTime的相互转换
    c#之从服务器下载压缩包,并解压
    Unity3d 开发之 ulua 坑的总结
  • 原文地址:https://www.cnblogs.com/huey/p/4820998.html
Copyright © 2020-2023  润新知