Skip to content
On this page

wireshark


标签:linux/network  

Wireshark

数据包

对应OSI七层模型

包头分析

以太网头(链路层)

封装了 mac 地址以及目的地的地址,还有 ip 类型,又称作 mac 头,如图:

Type

  • 0X0800 只接收发往本机的mac的ip类型的数据帧
  • 0X0806 只接收发往本机的ARP类型的数据帧
  • 0x8035 只接受发往本机的RARP类型的数据帧
  • 0X0003 接收发往本机的MAC所有类型:ip,arp,rarp数据帧,接收从本机发出去的数据帧,混杂模式打开的情况下,会接收到非发往本地的 MAC 数据帧

IP 头(网络层)

网络层主要用于拆包,IP 头中需要掌握用于拆包的部分为:id,flags,fregment_offset;两个 IP 地址:源 IP 与目的 IP 地址

TTL:time to live,指定数据帧可以最多经过几个路由器,当数据帧被目标方接收后,TTL 清除为 0。Linux TTL:64,Windows TTL:128。

UDP 头(传输层)

TCP 头(传输层)

  • Seq:序列号,占4个字节,用于给数据段进行编号的。所有非应答包的数据段,都有seq。
  • Ack:应答号,用于应答非应答包(握手包,挥手包,数据包)。告诉对方下一次从这个seq编号发送数据包。
  • SYN:握手包,连接的时候产生的包
  • FIN:挥手包,断开连接产生的包
  • PSH:数据包,传输数据时候产生的包
  • ACK:应答包

Last updated: