抓包分析以太网帧和IP数据包,头部那么多东东用来干啥的,扫盲篇

目录

抓包过程

使用了 Wireshark 进行抓包,用两个最常用的 curl 和 ping 命令来演示抓包情况,开启抓包。

先访问我自己的网站首页</pre>

再查看我自己网站的地址</pre>

Wireshark根据 ping 命令得到的地址进行条件过滤,得到上面两个命令所得到的包,主要有 TCP(https基于tcp协议)协议和 ICMP(ping命令是基于 ICMP 协议)协议的包,如下图所示:

抓包分析

以太网帧(也叫MAC帧)首部分析

MAC帧格式
MAC帧 = 6字节源mac地址 + 6字节目标mac地址 + 2字节类型 + 4字节帧检验序列FCS + 数据长度(46~1500字节)

MAC帧长度是需要在64~1518字节之间的,太长或者太短都是无效的帧。

IP数据包过来了,MAC 层会给分别使用6个字节为其加上“源mac地址”和“目标mac地址”,并且花2个字节为其指明是哪种类型的IP数据报(目前有IPV4,IPV6两种类型),4字节“FCS帧检验序列” 负责检验帧是否有效,然后就是46~1500字节之间的IP数据报长度。

抓包里面的mac帧内容如下,选取了ping的reply类型包信息进行查看分析:

以太网帧

小补充:帧检验序列即FCS(frame check sequence), 让接收帧的网卡或接口判断是否发生了错误。

判断过程如下:发送网卡利用多项式计算,称循环冗余校验(CRC),将计算结果写入FCS字段,接收方收到这个帧,对其做相同的CRC计算。如果计算结果与接收的FCS字段相同,则帧没有发生错误。如果不同,接收方就相信帧肯定发生了错误,并丢弃这个帧。

IP数据包首部分析

抓包得到的头部对应关系如下所示(1~31表示的bit,8bit=1byte):

IP数据包头部
IP数据包头部信息

头部每个内容如下:

  • 版本: TCP/IP 协议版本,是ipv4,还是ipv6;

  • 首部长度:告诉数据包,首部长度有多长,因为首部有变长部分(如图中可变部分,试想一下如果当初没有设计这个可变长度,是不需要设计这个“首部长度”的);

  • 服务类型:网络中的数据包有着急的,有不着急的,比如你和别人聊微信,这个包就比较着急了,如果你是在发邮件,那么点击了发送让他慢慢溜达过去也是没问题的。就相当于火车站排队,军属优先,残疾人优先,让列宁同志先走的意思;

  • 总长度:首部+数据 的长度,总长度最大是2的16次方-1,即65535字节(上面讲到的数据链路层数据大小最大1500字节别忘了,除去IP首部的20个字节,数据链路层能接受的IP数据大小是1480字节,正因为这两货大小不一样,如果一个数据包大于了1480字节,网络层要把包送给数据链路层传输,才需要后面的分片

  • 标识:用途就是数据包分片之后可以根据标识的编号,将分片的包重新组装为一个完整数据包

分片
  • 标志:3bit表示标志,计算机收到了一个包,那他咋知道这是一个完整的数据包,还只是一个分片呢,标志说看我的
标志

此处单独截图抓包分析的标志内容,Reserved bit为保留了一位,没有进行设置;Don't fragement为1表示他是一个完整的数据包,不是一个片;More fragements为0表示这是最后一个分片,为1表示后面还有分片;

我curl的我的站点首页,内容是不多的,没有大于1500字节,所以不需要分片,如果我开启迅雷下载了一个很大的东西,那这个地方是需要分片的。

  • 片偏移:偏移量,标识数据包的第一个字节是整个数据包的第几个偏移量,此处抓包的片偏移量是0,因为他没有分片
片偏移
  • 生存时间ttl:Linux给数据包的默认ttl是64,Windows系统是128,Unix系统是255,每次过一个路由器那么ttl-1,每次经过一个路由器就要减1,ttl耗尽了那么这个包就自动消失了,防止路由里面出现了环路死循环了,包永不消失。

  • 协议:标识这个包要交给谁来处理,如果是 tcp 或者 udp 那么就需要交给传输层处理,如果是ICMP,IGMP,OSPF那么就交给网络层来处理这个包。此处是tcp协议,协议号是6.

image
  • 首部检验和
校验过程
  • 源地址和目标地址无需多说了

  • 可选字段,填充:ipv6已经将这个可选的去掉了,因为可变就要可控,就要增大处理时间,这里是为了增大IP数据包的功能,但是实际上很少用到。

网络里面时时刻刻有那么多的包,设计者们秉着绝不浪费一个 bit 的精神,每一个标志的设计都是精心设计的,这个时候包的首部就要绝对的精简了。这两个内容写完就很多了,下一篇我会写一个姊妹篇,抓包分析传输层的tcp三次牵手四次分手过程~~感谢观看。


WechatIMG11.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343