网络层(三)——ARP协议

ARP协议是“Address Resolution Protocol”的缩写,称为地址解析协议。他的作用是规定了在ipv4地址和底层网络硬件地址之间的转换,提供从网络层地址到相关硬件地址的动态映射。因为在以太网环境中,数据传输是mac地址而不是IP地址,所以需要需要在两者之间做一个转换。(传输过程中mac和ip为什么需要分别存在在上一篇博客有提到喔)

原理

在任何时候,一台主机有IP数据报文发送给另一台主机,它都要知道接收方的逻辑(IP)地址。但是IP地址必须封装成帧才能通过物理网络。这就意味着发送方必须有接收方的物理(MAC)地址,因此需要完成逻辑地址到物理地址的映射。而ARP协议可以接收来自IP协议的逻辑地址,将其映射为相应的物理地址,然后把物理地址递交给数据链路层。具体过程分为ARP请求和响应

ARP请求

实际网络中,这个LAN可能有几十上百的主机,我们只知道了IP地址的话怎样才能顺利的将数据包从Pc1发送到Pc2呢?
这时,Pc1在发送数据包之前,ARP协议就会采用以太网的“广播”功能进行一次ARP请求:将会以广播的形式发送一个ARP请求包,用来请求目标IP的对应mac地址,交换机或WiFi设备(无线路由器)收到广播包时,会将此数据发给同一局域网的其他所有主机,此时每一台主机都会接受并处理这个ARP请求报文,然后进行验证,是目标IP的主机会进行响应,而拿到ARP请求包的其他主机发现目标IP不是自己的IP则将其丢掉。
【也正是这种广播的请求方式为网络带来了很多隐患】

ARP响应

验证成功的主机会返回一个ARP响应报文,这个响应报文包含接收方的IP地址和物理地址。当然,ARP回应包不在是通过广播的形式去发送的,大部分网络协议在设计的时候,都需要保持极度克制,不需要的交互就砍掉,能合并的信息就合并,能不用广播就用单播,以此让带宽变得更多让网络变得更快。同时呢,两台主机分别写入对方的IP和MAC到自己的ARP映射表中,这样下次请求就不需要再次进行ARP交互了。

请求过程

【点对点链路不使用ARP协议。】

ARP高速缓存

明白了ARP的工作原理之后,我们会发现上面提到了拿到IP对应的mac地址后会进行缓存,为了解决请求速度问题,每台安装TCP/IP协议的电脑里,都有一个ARP高速缓冲表,表里的IP地址与MAC地址是一一对应的。
那么如何查看该表呢,我们可以在命令行键入arp -a获取本机ARP高速缓存的所有内容:


查看缓存表

ARP代理

以上说的都是在一个本地网络内完成的,那如果ARP请求是从一个网络主机发送到另一个网络主机呢?就引出了ARP代理的概念

ARP代理

如上图所示,主机A需要与主机B通信时,目的IP地址与本机的IP地址位于不同网络,但是由于主机A未配置网关,所以它会将以广播形式发送ARP request报文,请求主机B的MAC地址。但是,广播报文无法被路由器转发,所以主机B无法收到主机A的ARP请求报文,当然也就无法应答。
而在路由器上启用代理ARP功能,就可以解决这个问题。启用代理ARP后,路由器收到这样的请求,会查找路由表,如果存在主机B的路由表项,路由器将会使用自己的G0/0/0接口的MAC地址来回应该ARP request。主机A收到ARP reply后,将以路由器的G0/0/0接口MAC地址作为目的MAC地址进行数据转发。

逆向ARP

ARP和逆向ARP

我们知道我们计算机中的IP地址是自动获得的,在最开始我们也提到说ARP是将mac和IP做的一种映射,前面提到的都是已知IP地址去请求mac地址的方式,那我们计算机在获得IP地址的时候,其实就是逆向ARP请求,也叫RARP.

ARP欺骗

由前面提过的工作原理就可以明白,ARP协议的安全性是相当低的,毕竟需要将一个请求广播出来,那显而易见,当一个数据可以被所有人截获的时候,他的危险性就提升了n倍,其中被使用最多的就是ARP欺骗。所以我们经常听到的这些术语,包括"网络扫描"、"内网渗透"、"中间人拦截"、"局域网流控"、"流量欺骗",基本都跟ARP脱不了干系。大量的安全工具,例如大名鼎鼎的Cain、功能完备的Ettercap、操作傻瓜式的P2P终结者,底层都要基于ARP欺骗实现。

ARP欺骗原理
ARP欺骗主要是攻击者发送大量假的ARP数据包到网络上,尤其是网关上。假设你的网关的IP地址是192.168.0.2,MAC地址为00-11-22-33-44-55,你发送的数据都会从这个MAC地址经过,这时候我发送大量ARP数据包,然而我的包是构造出来的,IP是你的IP,但是MAC地址我替换成了我的MAC地址,这时候你更新你的ARP缓存时,就会把我机器的MAC地址当成192.168.0.2的MAC地址,于是你的流量都到我这来了,我可以把你的数据改改再发给网关,或者什么都不做,你都上不了网了。
那么ARP欺骗核心其实就是:监听广播段的ARPrequest,然后处理信息并为请求主机返回一个虚假的mac地址,此时后返回的mac地址会覆盖缓存表中的mac信息,这样之后该主机向目标IP发送的数据都会先经过你返回的虚假mac地址,由你处理后再进行二次发送(或直接截获)

那么了解这么多我们一定要知道的几条终端命令:
用“arp -d”可以删除arp缓存表里的所有内容
用“arp -s“可以手动在arp表中制定ip地址与mac地址的对应关系
用arp -a获取本机ARP高速缓存的所有内容

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