2UDP 协议
Source port:52343 是端口号(用来传输数据包的端口)
Destination port:45448 是目的端口号(用来数据包将要被传输到的端口)
Length:73 是数据包字节长度
Checksum:0xb4b0 是数据段的校验和(用来确保 UDP 首部和数据部分的完整性)
如图可知 UDP 是不分片的
三, 网络层
1IP 报文
Version 是版本: 4
Header Length 是长度: 20 字节
Differentiated Services Field 就是区域服务: 0x00
Total Length 是总长度: 20
Identification 位标识: 0x2220(8736)
Flags 是 TCP 标志: 含 6 种标志; ACK: 确认序号有效; SYN: 同步序号用来发起一个连接; FIN: 发端完成发送任务; RST: 重新连接; PSH: 接收方应该尽快将这个报文段交给应用层; URG: 紧急指针 (urgentpointer) 有效;
2ARP 协议
当一台主机把以太网数据帧发送到位于同一个局域网上的另一台主机时, 是根据以太网地址来确定目的接口的, ARP 协议需要为 IP 地址和 Mac 地址这两种不同的地址形式提供对应的关系. 上面是个 ARP 请求报文. 包含了目的主机 IP 地址.
3ICMP 协议
ICMP 是网络报文控制协议, 他是一个对 IP 协议的补充协议. 允许主机或路由器报告差错情况和异常状况. 通过 ping 来实现.
type=8 为 Ping 请求
Type:8; 占一字节, 标识 ICMP 报文的类型, 目前已定义了 14 种, 从类型值来看 ICMP 报文可以分为两大类. 第一类是取值为 1~127 的差错报文, 第 2 类是取值 128 以上的信息报文.
Code:0; 占一字节, 标识对应 ICMP 报文的代码. 它与类型字段一起共同标识了 ICMP 报文的详细类型.
Checksum:0x4a36[correct]; 是对包括 ICMP 报文数据部分在内的整个 ICMP 数据报的校验和, 以检验报文在传输过程中是否出现了差错. 其计算方法与在我们介绍 IP 报头中的校验和计算方法是一样的.
Identifier:0x0100; 两字节, 用于标识本 ICMP 进程, 但仅适用于回显请求和应答 ICMP 报文, 对于目标不可达 ICMP 报文和超时 ICMP 报文等, 该字段的值为 0.
Sequence number:550(0x0226): 序列号.
而 Ping 答应则是 Type=0
四, 数据链路层
1MAC 帧格式:
有两种, 一种是以太网 V2 标准, 一种是 IEEE802.3, 常用前者. 下图是假定网络层协议是 IP 协议, Mac 帧是 V2 格式.
在数据链路层抓包, 下图抓的 HTTP 的包, 实际上抓到的是封装了 HTTP 数据包的 Mac 帧, 有以太网 src IP 和 dst IP 在内. Mac 地址有 48bit, 所以源地址和目的地址字段各有 6 个字节.
2MAC 地址分析
Destination 是目的 Mac 地址: 00:e0:4c:36:41:b4
Source 是源 Mac 地址: 2c:4d:54:41:5c:32
Type:ipv4(0x0800); 使用的 IP 协议
五, 总结
这次 wireshark 抓包分析中我受益匪浅, 原本对课本上的抽象知识难以理解, 通过这次实操我对课本上知识的理解更深了. 在这次抓包过程中, 遇到很多问题, 比如软件是英文的看不太懂, 一些数据包太难抓, 很多出现掉包的情况, 通过和其他同学的交流, 学会了 ip..addr== 目的地址, 可以过滤掉很多不需要的数据包. 因此, 大大缩短了时间.
ip 网络抓包分析(2)
来源: http://www.bubuko.com/infodetail-3304111.html