WireShark图解ARP协议

图解ARP协议,首先要知道ARP是什么。

但上来就说是什么,往往又不容易说清楚,因为每一个协议都有他的背景知识。

背景知识

  1. TCP/IP 协议分为5层,从下往上依次为:物理层、链路层、网络层、传输层、应用层。本文重点关注第2、3层,第2层链路层,基于MAC地址转发数据帧,第3层网络层,基于IP地址转发报文;

  2. MAC(Media Access Control)地址是网卡决定的,烧录在网卡或者接口上的物理地址,具有二层意义和全球唯一性,是固定的,一般不能被改变。IP地址是网络中的主机或者三层接口在网络中的逻辑地址,在同一个网络内具有唯一性。

动脑思考

我们先想一个问题,我们都知道,通过IP地址能定位唯一一台机器,但它是怎么定位的呢?
进一步说,因为我们发报文的时候只知道对方的IP地址,不知道对方的MAC地址。但是我们在物理层传输的时候又需要MAC地址才能找到那台机器。所以,它是怎么通过IP地址进而获取对方MAC地址的呢?

所以我们猜测:它一定是通过什么东西,能够将对方的IP地址转化成对应的MAC地址。

动手证明

百度定义:

有了上面的思考,我们去看看定义:

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议

主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

也就是说,虽然数据包发送时包含了完整的TCP/IP四层信息,但是IP地址只在网络间寻址才起作用,在同一个网络内,IP地址在发送端被转化为MAC地址进行寻址,而这种转化和交换的对应关系,依赖于ARP协议和MAC地址表。

再换句话说,
网络层协议是IP,底层协议是以太网,在局域网的范围内,通过ARP来将IP和MAC地址对应起来

当当当,是不是与我们的思考对应起来了呢?

WirkShark试验:

只是一句定义还不够,因为细节性的东西我们还不了解。比如,它是如何通过ARP协议将IP地址转换成MAC地址的呢?

因此我们需要做个小试验,如何试验呢?

我在B机器上ping了一下A机器的IP地址,同时使用WireShark截收了报文,通过截获的Wireshark报文来图解ARP协议。

AB机器的基本信息如下:

#B机器:
IP地址:10.15.2.37
默认网关:10.15.2.1
子网掩码:225.225.225.0

#A机器:
IP地址:10.104.0.226
默认网关:10.104.0.254
子网掩码:225.225.225.0

OK,信息展示完毕,我们来看我们的朋友WireShark截获了什么吧。

1号包:NBNS协议包,见WireShark图解NBNS协议,此处略
2号包:ARP协议包

你看,它好可爱哦,它问默认网关Who has 10.15.2.1?

B通过ARP广播(看到标识区内Broadcast了吗,广播的意思),查询默认网关10.15.2.1的MAC地址。

还记得刚刚我们列出的信息吗?10.15.2.1是B机器的默认网关。

那么,问题出现了,为什么我们在B机器上ping的A的IP,B却去查询默认网关的MAC地址呢?


默认网关小知识:
网关是一个网络到另一个网络的关口,一个网络一个网关,所以它的作用就是把网络A和网络B连接起来,使之A网络中的机器能够和B网络中的机器进行通信。不仅如此,还能够转换协议,使不同协议的网络段中的机器进行通信。默认网关,顾名思义,就是默认的网关设置。这个可以手动,也可以由DHCP服务器自动设置。

这是因为B根据自己的子网掩码,计算出A属于不同子网,跨子网通信需要默认网关的转发。而要和默认网关通信,就需要获得其MAC地址。

2号包:图的内容是默认网关10.15.2.1回应了我们的B机器,告知自己的MAC地址。(忽略Source信息)

26号包:

B发出ping包,指定Destination IP是10.104.0.226,即A。

27号包:

A回复Bping包,指定Destination IP是10.15,2.37,即B。

分析完这几个包,想必流程也就清楚了。B先把ping包交给默认网关,默认网关转发给A,A收到请求后直接回复给B,形成三角环路。

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

推荐阅读更多精彩内容

  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,069评论 6 174
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,054评论 0 8
  • 转载 :http://www.cnblogs.com/maybe2030/p/4781555.html#_labe...
    奋斗live阅读 1,367评论 0 10
  • 第一阶段,音乐想起,我听到清晰的梵音,还有吟诵诗经的声音!一个大广场,一群漂亮活跃的年轻人穿着红色的衣服在舞动,敲...
    jessica的记忆阅读 150评论 0 0
  • 一:影响最深的三个部分? (1):同学在讲台上讲课并且讲的很认真,内容也很丰富。 (2):老师让我们伸出手拍手与此...
    安虞M阅读 184评论 0 0