Packet frame 长度分析基于抓包器

原创 2016年08月30日 15:49:33

做openflow实验,wireshark抓包长度为169,但是自己算总算不出来为啥是169.。


说明:

以太网(IEEE 802.3)帧格式:
1、前导码:7字节0x55,一串1、0间隔,用于信号同步
2、帧起始定界符:1字节0xD5(10101011),表示一帧开始
3、DA(目的MAC):6字节
4、SA(源MAC):6字节
5、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留为类型域值(0x0600~0xFFFF)
6、数据:46~1500字节
7、帧校验序列(FCS):4字节,使用CRC计算从目的MAC到数据域这部分内容而得到的校验和。

据RFC894的说明,以太网封装IP数据包的最大长度是1500字节,也就是说以太网最大帧长应该是以太网首部加上1500,再加上7字节的前导同步码和1字节的帧开始定界符,具体就是:7字节前导同步吗+1字节帧开始定界符+6字节的目的MAC+6字节的源MAC+2字节的帧类型+1500+4字节的FCS。

按照上述,最大帧应该是1526字节,但是实际上我们抓包得到的最大帧是1514字节,为什么不是1526字节呢?原因是当数据帧到达网卡时,在物理层上网卡要先去掉前导同步码和帧开始定界符,然后对帧进行CRC检验,如果帧校验和错,就丢弃此帧。如果校验和正确,就判断帧的目的硬件地址是否符合自己的接收条件(目的地址是自己的物理硬件地址、广播地址、可接收的多播硬件地址等),如果符合,就将帧交“设备驱动程序”做进一步处理。这时我们的抓包软件才能抓到数据,因此,抓包软件抓到的是去掉前导同步码、帧开始分界符、FCS之外的数据,其最大值是6+6+2+1500=1514。

以太网规定,以太网帧数据域部分最小为46字节,也就是以太网帧最小是6+6+2+46+4=64。除去4个字节的FCS,因此,抓包时就是60字节。当数据字段的长度小于46字节时,MAC子层就会在数据字段的后面填充以满足数据帧长不小于64字节。由于填充数据是由MAC子层负责,也就是设备驱动程序。


结论:

169 = IP 155+ ethII 14(SI 6+DI 6+length 2)  , 这里不包括前导码+帧起始界定符+最后的FCS,因为这些都是网卡做的事情:物理层上网卡要先去掉前导同步码和帧开始定界符,然后对帧进行CRC检验,如果帧校验和错,就丢弃此帧。所以二层抓包器就抓到169byte。




相关文章推荐

wireshark 抓包内容分析【部分】

wireshark 抓包后,各部分内容所要表达的意思,对于初学者来说很是困难,本篇将部分内容做了诠释,个人感觉对于我们初学者来说很有帮助。 注: 文章内容是转载的,出处忘记了。...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

packet sniffer抓包软件使用体验

packet sniffer软件对两个BLE设备在空中发送的数据包进行拦截,解码并可视化在主窗口显示的软件。是我们调试的好工具。首先的使用的背景是,利用packet sniffer软件监听特定从机广播...
  • JQ_AK47
  • JQ_AK47
  • 2015年04月23日 16:52
  • 3705

基于winpcap抓包时, 出现问题的函数pcap_loop(adhandle,3,tcp_scan_packet_callback,NULL);

基于winpcap抓包时, 出现问题的函数是: //首先是循环捕获数据包 pcap_loop(adhandle,3,tcp_scan_packet_callback,NULL);  //然后...

Cocos2d—X游戏开发之(socket)Mac下网络抓包工具(Cocoa Packet Analyzer使用教程)

Cocoa Packet Analyzer http://www.tastycocoabytes.com/cpa/ Cocoa Packet Analyzer is a native Ma...

Cocos2d—X游戏开发之(socket)Mac下网络抓包工具(Cocoa Packet Analyzer使用教程)

Cocoa Packet Analyzer http://www.tastycocoabytes.com/cpa/ Cocoa Packet Analyzer is a native Ma...

xss 抓包突破字符长度

  • 2013年06月14日 16:32
  • 5.37MB
  • 下载

Android 手机抓包利器 Packet Capture

  • 2017年06月15日 11:16
  • 3.29MB
  • 下载

packet和frame区别

http://blog.sina.com.cn/s/blog_533074eb01015zv1.html 一般说来,数据链路层发出的数据包称为frame,地址是链路层的地址,如mac地址;网络层...

Packet Tracer 5.0建构CCNA实验攻略——帧中继Frame Relay

  Packet Tracer 5.0是一款非常不错的Cisco(思科)网络设备模拟器,对于想考思科初级认证(如CCNA)的朋友们来说,Packet Tracer 5.0是非常不错的选择。通常我们周围...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Packet frame 长度分析基于抓包器
举报原因:
原因补充:

(最多只允许输入30个字)