" 以太网是一种计算机局域网技术。IEEE 组织的 IEEE 802.3 标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI 和 ARCNET。" -- Wiki 百科
从 Xerox 公布的 Ethernet I 发展到现在,有过 6 种以太帧格式:
其中主流应用的是 Ethernet II、802.3/802.2 LLC、802.3/802.2 SNAP 这三种,最常用的是 RFC894 定义,也就是 Ethernet II 的帧格式。
类型
字段替换为帧长度
,并且因为新增加了 DASP, SSAP,Control 这三个各占 1 字节的字段,报文的长度也调整为:43~1497,它们三个字段作为 LLC 的头Ethernet 帧,从最上层(应用层)发送的数据单元( PDU ),每经过一层,都会把上层整个的 PDU 作为下层 PDU 的 data 域,然后加上 自己的协议头;接受端,同下而上的层层拆掉每层的头部。了解了这些,我们尝试抓包具体分析每个字段
$ tcpdump -i eth1 port 9527 -s 0 -w ./target9527.cap
用 wireshark
打开抓到的二进制报文,如图所示:
Frame 1,表示第 1 帧,源 ip 和目的 ip 分别是:172.24.31.67 和 10.96.77.128 ,都是内网 ip。
PSH
,PSH
是告诉接收端,立即交由应用层处理而不必等到Recv socket buffer
写满PSH
标记的包,要求立即处理PSH
标志位的请求和 Frame 7 的 HTTP 请求四次挥手全部结束。有同学可以会比较疑惑,不是应该是 4 次请求吗,这里只有三次。解释下这个问题:因为服务端在响应 HTTP 请求时,因为知道自己已经发送完全部数据,所以在响应包里加上了四次挥手中的第一次 FIN=1 的请求。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.