網(wǎng)絡(luò)層(三)——ARP協(xié)議

ARP協(xié)議是“Address Resolution Protocol”的縮寫,稱為地址解析協(xié)議。他的作用是規(guī)定了在ipv4地址和底層網(wǎng)絡(luò)硬件地址之間的轉(zhuǎn)換,提供從網(wǎng)絡(luò)層地址到相關(guān)硬件地址的動(dòng)態(tài)映射。因?yàn)樵谝蕴W(wǎng)環(huán)境中榛搔,數(shù)據(jù)傳輸是mac地址而不是IP地址,所以需要需要在兩者之間做一個(gè)轉(zhuǎn)換东揣。(傳輸過程中mac和ip為什么需要分別存在在上一篇博客有提到喔)

原理

在任何時(shí)候践惑,一臺(tái)主機(jī)有IP數(shù)據(jù)報(bào)文發(fā)送給另一臺(tái)主機(jī),它都要知道接收方的邏輯(IP)地址嘶卧。但是IP地址必須封裝成幀才能通過物理網(wǎng)絡(luò)尔觉。這就意味著發(fā)送方必須有接收方的物理(MAC)地址,因此需要完成邏輯地址到物理地址的映射芥吟。而ARP協(xié)議可以接收來自IP協(xié)議的邏輯地址侦铜,將其映射為相應(yīng)的物理地址,然后把物理地址遞交給數(shù)據(jù)鏈路層运沦。具體過程分為ARP請(qǐng)求和響應(yīng)

ARP請(qǐng)求

實(shí)際網(wǎng)絡(luò)中泵额,這個(gè)LAN可能有幾十上百的主機(jī)配深,我們只知道了IP地址的話怎樣才能順利的將數(shù)據(jù)包從Pc1發(fā)送到Pc2呢携添?
這時(shí),Pc1在發(fā)送數(shù)據(jù)包之前篓叶,ARP協(xié)議就會(huì)采用以太網(wǎng)的“廣播”功能進(jìn)行一次ARP請(qǐng)求:將會(huì)以廣播的形式發(fā)送一個(gè)ARP請(qǐng)求包烈掠,用來請(qǐng)求目標(biāo)IP的對(duì)應(yīng)mac地址,交換機(jī)或WiFi設(shè)備(無線路由器)收到廣播包時(shí)缸托,會(huì)將此數(shù)據(jù)發(fā)給同一局域網(wǎng)的其他所有主機(jī)左敌,此時(shí)每一臺(tái)主機(jī)都會(huì)接受并處理這個(gè)ARP請(qǐng)求報(bào)文,然后進(jìn)行驗(yàn)證俐镐,是目標(biāo)IP的主機(jī)會(huì)進(jìn)行響應(yīng)矫限,而拿到ARP請(qǐng)求包的其他主機(jī)發(fā)現(xiàn)目標(biāo)IP不是自己的IP則將其丟掉。
【也正是這種廣播的請(qǐng)求方式為網(wǎng)絡(luò)帶來了很多隱患】

ARP響應(yīng)

驗(yàn)證成功的主機(jī)會(huì)返回一個(gè)ARP響應(yīng)報(bào)文,這個(gè)響應(yīng)報(bào)文包含接收方的IP地址和物理地址叼风。當(dāng)然取董,ARP回應(yīng)包不在是通過廣播的形式去發(fā)送的,大部分網(wǎng)絡(luò)協(xié)議在設(shè)計(jì)的時(shí)候无宿,都需要保持極度克制茵汰,不需要的交互就砍掉,能合并的信息就合并孽鸡,能不用廣播就用單播蹂午,以此讓帶寬變得更多讓網(wǎng)絡(luò)變得更快。同時(shí)呢彬碱,兩臺(tái)主機(jī)分別寫入對(duì)方的IP和MAC到自己的ARP映射表中豆胸,這樣下次請(qǐng)求就不需要再次進(jìn)行ARP交互了。

請(qǐng)求過程

【點(diǎn)對(duì)點(diǎn)鏈路不使用ARP協(xié)議堡妒∨渎遥】

ARP高速緩存

明白了ARP的工作原理之后,我們會(huì)發(fā)現(xiàn)上面提到了拿到IP對(duì)應(yīng)的mac地址后會(huì)進(jìn)行緩存皮迟,為了解決請(qǐng)求速度問題搬泥,每臺(tái)安裝TCP/IP協(xié)議的電腦里,都有一個(gè)ARP高速緩沖表伏尼,表里的IP地址與MAC地址是一一對(duì)應(yīng)的忿檩。
那么如何查看該表呢,我們可以在命令行鍵入arp -a獲取本機(jī)ARP高速緩存的所有內(nèi)容:


查看緩存表

ARP代理

以上說的都是在一個(gè)本地網(wǎng)絡(luò)內(nèi)完成的爆阶,那如果ARP請(qǐng)求是從一個(gè)網(wǎng)絡(luò)主機(jī)發(fā)送到另一個(gè)網(wǎng)絡(luò)主機(jī)呢燥透?就引出了ARP代理的概念

ARP代理

如上圖所示,主機(jī)A需要與主機(jī)B通信時(shí)辨图,目的IP地址與本機(jī)的IP地址位于不同網(wǎng)絡(luò)班套,但是由于主機(jī)A未配置網(wǎng)關(guān),所以它會(huì)將以廣播形式發(fā)送ARP request報(bào)文故河,請(qǐng)求主機(jī)B的MAC地址吱韭。但是,廣播報(bào)文無法被路由器轉(zhuǎn)發(fā)鱼的,所以主機(jī)B無法收到主機(jī)A的ARP請(qǐng)求報(bào)文理盆,當(dāng)然也就無法應(yīng)答。
而在路由器上啟用代理ARP功能凑阶,就可以解決這個(gè)問題猿规。啟用代理ARP后,路由器收到這樣的請(qǐng)求宙橱,會(huì)查找路由表姨俩,如果存在主機(jī)B的路由表項(xiàng)蘸拔,路由器將會(huì)使用自己的G0/0/0接口的MAC地址來回應(yīng)該ARP request。主機(jī)A收到ARP reply后环葵,將以路由器的G0/0/0接口MAC地址作為目的MAC地址進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)都伪。

逆向ARP

ARP和逆向ARP

我們知道我們計(jì)算機(jī)中的IP地址是自動(dòng)獲得的,在最開始我們也提到說ARP是將mac和IP做的一種映射积担,前面提到的都是已知IP地址去請(qǐng)求mac地址的方式陨晶,那我們計(jì)算機(jī)在獲得IP地址的時(shí)候,其實(shí)就是逆向ARP請(qǐng)求帝璧,也叫RARP.

ARP欺騙

由前面提過的工作原理就可以明白先誉,ARP協(xié)議的安全性是相當(dāng)?shù)偷模吘剐枰獙⒁粋€(gè)請(qǐng)求廣播出來的烁,那顯而易見褐耳,當(dāng)一個(gè)數(shù)據(jù)可以被所有人截獲的時(shí)候,他的危險(xiǎn)性就提升了n倍渴庆,其中被使用最多的就是ARP欺騙铃芦。所以我們經(jīng)常聽到的這些術(shù)語,包括"網(wǎng)絡(luò)掃描"襟雷、"內(nèi)網(wǎng)滲透"刃滓、"中間人攔截"、"局域網(wǎng)流控"耸弄、"流量欺騙"咧虎,基本都跟ARP脫不了干系。大量的安全工具计呈,例如大名鼎鼎的Cain砰诵、功能完備的Ettercap、操作傻瓜式的P2P終結(jié)者捌显,底層都要基于ARP欺騙實(shí)現(xiàn)茁彭。

ARP欺騙原理
ARP欺騙主要是攻擊者發(fā)送大量假的ARP數(shù)據(jù)包到網(wǎng)絡(luò)上,尤其是網(wǎng)關(guān)上扶歪。假設(shè)你的網(wǎng)關(guān)的IP地址是192.168.0.2,MAC地址為00-11-22-33-44-55,你發(fā)送的數(shù)據(jù)都會(huì)從這個(gè)MAC地址經(jīng)過理肺,這時(shí)候我發(fā)送大量ARP數(shù)據(jù)包,然而我的包是構(gòu)造出來的击罪,IP是你的IP哲嘲,但是MAC地址我替換成了我的MAC地址贪薪,這時(shí)候你更新你的ARP緩存時(shí)媳禁,就會(huì)把我機(jī)器的MAC地址當(dāng)成192.168.0.2的MAC地址,于是你的流量都到我這來了画切,我可以把你的數(shù)據(jù)改改再發(fā)給網(wǎng)關(guān)竣稽,或者什么都不做,你都上不了網(wǎng)了。
那么ARP欺騙核心其實(shí)就是:監(jiān)聽廣播段的ARPrequest毫别,然后處理信息并為請(qǐng)求主機(jī)返回一個(gè)虛假的mac地址娃弓,此時(shí)后返回的mac地址會(huì)覆蓋緩存表中的mac信息,這樣之后該主機(jī)向目標(biāo)IP發(fā)送的數(shù)據(jù)都會(huì)先經(jīng)過你返回的虛假mac地址岛宦,由你處理后再進(jìn)行二次發(fā)送(或直接截獲)

那么了解這么多我們一定要知道的幾條終端命令:
用“arp -d”可以刪除arp緩存表里的所有內(nèi)容
用“arp -s“可以手動(dòng)在arp表中制定ip地址與mac地址的對(duì)應(yīng)關(guān)系
用arp -a獲取本機(jī)ARP高速緩存的所有內(nèi)容

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末台丛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子砾肺,更是在濱河造成了極大的恐慌挽霉,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件变汪,死亡現(xiàn)場(chǎng)離奇詭異侠坎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)裙盾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門实胸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人番官,你說我怎么就攤上這事庐完。” “怎么了徘熔?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵假褪,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我近顷,道長(zhǎng)生音,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任窒升,我火速辦了婚禮缀遍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘饱须。我一直安慰自己域醇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布蓉媳。 她就那樣靜靜地躺著譬挚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪酪呻。 梳的紋絲不亂的頭發(fā)上减宣,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音玩荠,去河邊找鬼漆腌。 笑死贼邓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的闷尿。 我是一名探鬼主播塑径,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼填具!你這毒婦竟也來了统舀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤劳景,失蹤者是張志新(化名)和其女友劉穎绑咱,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枢泰,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡描融,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年慎框,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了灼伤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脯爪。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡幸缕,死狀恐怖偎行,靈堂內(nèi)的尸體忽然破棺而出景东,到底是詐尸還是另有隱情锉试,我是刑警寧澤纬纪,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布玻募,位于F島的核電站只损,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏七咧。R本人自食惡果不足惜跃惫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望艾栋。 院中可真熱鬧爆存,春花似錦、人聲如沸蝗砾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悼粮。三九已至闲勺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扣猫,已是汗流浹背菜循。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留苞笨,地道東北人债朵。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像瀑凝,于是被迫代替她去往敵國(guó)和親序芦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360