1. 程式人生 > >網絡基礎知識(2)====對(1)的補充

網絡基礎知識(2)====對(1)的補充

網絡總結 心得

封裝和解封裝

封裝:

技術分享

解封裝:

技術分享

一個重要的協議arp

我們知道,當我們在瀏覽器裏面輸入網址時,DNS服務器會自動把它解析為IP地址,瀏覽器實際上查找的是IP地址而不是網址。那麽IP地址是如何轉換為第二層物理地址(即MAC地址)的呢?在局域網中,這是通過ARP協議來完成的。ARP協議對網絡安全具有重要的意義。通過偽造IP地址和MAC地址實現ARP欺騙,能夠在網絡中產生大量的ARP通信量使網絡阻塞。所以網管們應深入理解ARP協議

什麽是arp? arp 是哪一層的協議?arp 的作用?什麽是arp 攻擊?什麽是arp 欺騙?

arp :地址解析協議,在網絡層。

作用:將ip地址解析成mac地址

我們以主機A(192.168.1.5)向主機B(192.168.1.1)發送數據為例。當發送數據時,主機A會在自己的ARP緩存表中尋找是否有目標IP地址。如果找到了,也就知道了目標MAC地址,直接把目標MAC地址寫入幀裏面發送就可以了;如果在ARP緩存表中沒有找到相對應的IP地址,主機A就會在網絡上發送一個廣播,目標MAC地址是“FF.FF.FF.FF.FF.FF”,這表示向同一網段內的所有主機發出這樣的詢問:“192.168.1.1的MAC地址是什麽?”網絡上其他主機並不響應ARP詢問,只有主機B接收到這個幀時,才向主機A做出這樣的回應:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。這樣,主機A就知道了主機B的MAC地址,它就可以向主機B發送信息了。同時它還更新了自己的ARP緩存表,下次再向主機B發送信息時,直接從ARP緩存表裏查找就可以了。ARP緩存表采用了老化機制,在一段時間內如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度

arp作用的實現主要依賴於arp緩存表,那麽arp 緩存表在哪呢?


arp -a 查看主機的arp 緩存表

用“arp -d”命令可以刪除ARP表中所有的內容;

用“arp -d +空格+ <指定ip地址>” 可以刪除指定ip所在行的內容 用“arp -s”可以手動在ARP表中指定IP地址與MAC地址的對應,類型為static(靜態),此項存在硬盤中,而不是緩存表,計算機重新啟動後仍然存在,且遵循靜態優於動態的原則,所以這個設置不對,可能導致無法上網



技術分享

arp的緩存表是存儲在網絡設備或者計算機的內存中

arp 緩存表中主要存著ip地址與mac 地址的對應關系,每臺裝有TCP/IP協議的主機或路由器都有一個arp 緩存表,保存本網絡ip地址和MAC 地址的對應關系。

每臺計算機的內核都實現了arp協議。它是通過一個高速緩存,把ip映射到對應的MAC,緩存時間300s。

解析過程(在同一網段和不在同一網段)

假設主機A和B在,主機A要向主機B發送信息。具體的地址解析過程如下 
(1)        主機A首先查看自己的ARP表,確定其中是否包含有主機B對應的ARP表項。如果找到了對應的MAC地址,則主機A直接利用ARP表中的MAC地址,對IP數據包進行幀封裝,並將數據包發送給主機B。
(2)        如果主機A在ARP表中找不到對應的MAC地址,則將緩存該數據報文,然後以廣播方式發送一個ARP請求報文。ARP請求報文中的發送端IP地址和發送端MAC地址為主機A的IP地址和MAC地址,目標IP地址和目標MAC地址為主機B的IP地址和全0的MAC地址。由於ARP請求報文以廣播方式發送,該網段上的所有主機都可以接收到該請求,但只有被請求的主機(即主機B)會對該請求進行處理。
(3)        主機B比較自己的IP地址和ARP請求報文中的目標IP地址,當兩者相同時進行如下處理:將ARP請求報文中的發送端(即主機A)的IP地址和MAC地址存入自己的ARP表中。之後以單播方式發送ARP響應報文給主機A,其中包含了自己的MAC地址。
(4)        主機A收到ARP響應報文後,將主機B的MAC地址加入到自己的ARP表中以用於後續報文的轉發,同時將IP數據包進行封裝後發送出去。
當主機A和主機B不在時,主機A就會先向網關發出ARP請求,ARP請求報文中的目標IP地址為網關的IP地址。當主機A從收到的響應報文中獲得網關的MAC地址後,將報文封裝並發給網關。如果網關沒有主機B的ARP表項,網關會廣播ARP請求,目標IP地址為主機B的IP地址,當網關從收到的響應報文中獲得主機B的MAC地址後,就可以將報文發給主機B;如果網關已經有主機B的ARP表項,網關直接把報文發給主機B。

什麽是ARP欺騙?

從影響網絡連接通暢的方式來看,ARP欺騙分為二種,一種是對路由器ARP表的欺騙;另一種是對內網PC的網關欺騙。

第一種ARP欺騙的原理是——截獲網關數據。它通知路由器一系列錯誤的內網MAC地址,並按照一定的頻率不斷進行,使真實的地址信息無法通過更新保存在路由器中,結果路由器的所有數據只能發送給錯誤的MAC地址,造成正常PC無法收到信息。第二種ARP欺騙的原理是——偽造網關。它的原理是建立假網關,讓被它欺騙的PC向假網關發數據,而不是通過正常的路由器途徑上網。在PC看來,就是上不了網了,“網絡掉線了”。

解決方法

如果計算機已經有網關的正確MAC地址,在不能上網只需手工將網關IP和正確的MAC靜態地址綁定,即可確保計算機不再被欺騙攻擊。

(1)arp欺騙是通過arp的動態實時規則欺騙內網機器,所以我們把arp全部設置為靜態,可以防止欺騙

(2) 將網關與MAC靜態綁定,實現雙保險,可在MS-DOS窗口下運行以下命令: arp -s 網關IP 網關MAC。

什麽是arp攻擊?

arp攻擊就是通過偽造ip地址和mac地址實現arp欺騙,能夠在網絡中產生大量的arp通信使網絡阻塞,攻擊者只要持續不斷地發出偽造arp相應包就能更改目標主機arp 緩存中的ip-mac條目,造成網絡中斷或中間人攻擊。


arp協議的缺陷?

arp協議是建立在信任局域網內所有節點的基礎上的,它很高效,但卻不安全。它是無狀態的協議,不會檢查自己是否發過請求包,也不管是否是合法的應答,只要收到目標mac是自己的arp reply包或arp廣播包,都會接受並緩存。這就是為arp欺騙提供了可能,惡意節點可以發布虛假的arp報文從而影響網內節點的通信。




本文出自 “IT生活” 博客,請務必保留此出處http://dingxue.blog.51cto.com/12290895/1970448

網絡基礎知識(2)====對(1)的補充