arp位址解析協議(address resolution protocol),通過遵循該協議,只要我們知道了某台機器的ip位址,即可以知道其實體地址。
在每台安裝有tcp/ip協議的電腦裡都有乙個arp快取表,表裡的ip位址與mac位址是一一對應的,當每一次和乙個新裝置建立了通訊,就會在arp快取表裡記錄該裝置的ip和mac位址,arp快取表裡的記錄並不是一直都不變的,當一段時間不再和這個新裝置連線了,arp快取表裡關於這個裝置的ip和mac位址記錄就會因老化而丟掉,若一直和這個裝置通訊,在arp快取表裡會一直記錄這個裝置的ip和mac位址。
假設主機a(192.168.0.1)向主機b(192.168.0.2)傳送資料為例。當傳送資料時,主機a會在自己的arp快取表中尋找是否有目標ip位址。如果找到了,也就知道了目標mac位址,直接把目標mac位址寫入幀裡面傳送就可以了;如果在arp快取表中沒有找到相對應的ip位址,主機a就會在網路上傳送乙個廣播,目標mac位址是「ff.ff.ff.ff.ff.ff」,這表示向同一網段內的所有主機發出這樣的詢問:「192.168.0.5的mac位址是什麼?」網路上其他主機並不響應arp詢問,只有主機b接收到這個幀時,才向主機a做出這樣的回應:「192.168.0.5的mac位址是00-aa-00-62-c6-09」。這樣,主機a就知道了主機b的mac位址,它就可以向主機b傳送資訊了。同時它還更新了自己的arp快取表,下次再向主機b傳送資訊時,直接從arp快取表裡查詢就可以了。
在交換機連線的區域網中,識別主機的是mac位址,而非ip位址。因為交換機是二層裝置,它只能識別mac位址,路由器才能識別ip位址,那麼我們在兩台電腦之間訪問經常用ip位址,ping一台電腦也用ip位址,而沒用mac位址,那又是為什麼?
道理很簡單,因為對ip的訪問在arp表中轉換成了對mac位址的訪問。
arp***就是通過偽造ip位址和mac位址實現arp欺騙,能夠在網路中產生大量的arp通訊量使網路阻塞,***者只要持續不斷的發出偽造的arp響應包就能更改目標主機arp快取中的ip-mac條目,造成網路中斷或中間人***。
比如你的路由器的ip是192.168.0.1,mac位址是:00e04c352c68,是多台電腦共享上網用的閘道器和dns,當你要上網時,就要訪問路由器,電腦向網上發出廣播,以獲得路由器的mac位址,這時arp***主機發出乙個偽造的arp響應包,把192.168.0.1的mac位址亂寫乙個回應你,比如:512c0a665421,這樣你的電腦arp表中就會建乙個192.168.0.1與512c0a665421對應的表,那你上網時的請求就會發向512c0a665421這個mac位址,但它是不存在的,和你電腦相連的交換機無論如何也找不到是這個mac位址的埠,你的請求幀將會被交換機丟掉,那意味著你無法上網。
無論是區域網,還是廣域網中的計算機之間的通訊,最終都表現為將資料報從某種形式的鏈路上的初始節點出發,從乙個節點傳遞到另乙個節點,最終傳送到目的節點。資料報在這些節點之間的移動都是由arp(address resolution protocol:位址解析協議)負責將ip位址對映到mac位址上來完成的。下面我們來通過乙個例子看看ip位址和mac位址是怎樣結合來傳送資料報的。
arp快取表是可以檢視的,也可以新增和修改。在命令提示符下,輸入「arp -a」就可以檢視arp快取表中的內容。
用「arp -d」命令可以刪除arp表中所有的內容;
用「arp -d +空格+ 《指定ip位址》」 可以刪除指定ip所在行的內容
用「arp -s」可以手動在arp表中指定ip位址與mac位址的對應,型別為static(靜態),此項存在硬碟中,而不是快取表,計算機重新啟動後仍然存在,且遵循靜態優於動態的原則,所以這個設定不對,可能導致網路訪問出問題.
比如已知路由器的ip:192.168.0.1,mac:001cf0514cc2,是我們共享上網的路由器,我們可以在自己的電腦上繫結它:
arp -s 192.168.0.1 00-1c-f0-51-4c-c2
網路通訊及Socket
1.物理層 提供資訊傳遞的媒介,如同軸電線 2.資料鏈路層 負責建立 維持和釋放資料連線,當接收點檢測到所傳資料中有錯,則會通知傳送失敗重發一遍 對資料的識別 3.網路層 當兩個計算機之間出現若高資料鏈的時候,網路層的任務就是在若干的資料鏈路中間選擇合適的鏈路確保資料的及時傳送 選擇合適的資料鏈路,...
java基礎 網路協議及網路通訊
udp 使用者資料報協議 傳輸層 面向無連線的協議,報頭8位元組 http 超文字傳輸協議 應用層 基於請求和響應模式 無狀態的協議,特點有 socket tcp ip協議的封裝和應用 客戶端 定義socket物件s,傳進引數 目標主機ip位址,目標埠號 因為是測試,所以ip填自己ip位址 loca...
網路通訊 udp使用領悟
一 了解tcp與udp協議區別 tcp 傳輸控制協議 是一種面向連線 連線導向 的 可靠的 基於位元組流的運輸層 transport layer 通訊協議。協議,提供面向事務的簡單不可靠資訊傳送服務,ietf rfc 768是udp的正式規範。tcp 一對一的資訊傳輸機制,好比甲對乙打 必須保證兩方...