相關概念
主詞條:ARP
ARP協議是“Address Resolution Protocol”(地址解析協議)的縮寫。在局域網中,網絡中實際傳輸的是“幀”,幀裡面是有目标主機的MAC地址的。在以太網中,一個主機和另一個主機進行直接通信,必須要知道目标主機的MAC地址。但這個目标MAC地址是如何獲得的呢?它就是通過地址解析協議獲得的。所謂“地址解析”就是主機在發送幀前将目标IP地址轉換成目标MAC地址的過程。ARP協議的基本功能就是通過目标設備的IP地址,發送ARP請求查詢目标設備的MAC地址,以保證通信的順利進行。n
ARP原理:某機器A要向主機B發送報文,會查詢本地的ARP緩存表,找到B的IP地址對應的MAC地址後就會進行數據傳輸。如果未找到,則廣播A一個ARP請求報文(攜帶主機A的IP地址Ia——物理地址Pa),請求IP地址為Ib的主機B回答物理地址Pb。
網上所有主機包括B都收到ARP請求,但隻有主機B識别自己的IP地址,于是向A主機發回一個ARP響應報文。其中就包含有B的MAC地址,A接收到B的應答後,就會更新本地的ARP緩存。接着使用這個MAC地址發送數據(由網卡附加MAC地址)。因此,本地高速緩存的這個ARP表是本地網絡流通的基礎,而且這個緩存是動态的。
ARP表:為了回憶通信的速度,最近常用的MAC地址與IP的轉換不用依靠交換機來進行,而是在本機上建立一個用來記錄常用主機IP-MAC映射表,即ARP表。
所使用的到以太網的IP或令牌環物理地址翻譯表。ARP該命令隻有在安裝了TCP/IP協議之後才可用。
命令語法
arp[-a[InetAddr][-NIfaceAddr]][-g[InetAddr][-NIfaceAddr]][-dInetAddr[IfaceAddr]][-sInetAddrEtherAddr[IfaceAddr]]
-a[InetAddr][-NIfaceAddr]
顯示所有接口的當前ARP緩存表。要顯示特定IP地址的ARP緩存項,請使用帶有InetAddr參數的arp-a,此處的InetAddr代表IP地址。如果未指定InetAddr,則使用第一個适用的接口。要顯示特定接口的ARP緩存表,請将-NIfaceAddr參數與-a參數一起使用,此處的IfaceAddr代表指派給該接口的IP地址。-N參數區分大小寫。
-g[InetAddr][-NIfaceAddr]
與-a相同。
-dInetAddr[IfaceAddr]
删除指定的IP地址項,此處的InetAddr代表IP地址。對于指定的接口,要删除表中的某項,請使用IfaceAddr參數,此處的IfaceAddr代表指派給該接口的IP地址。要删除所有項,請使用星号(*)通配符代替InetAddr。
-sInetAddrEtherAddr[IfaceAddr]
向ARP緩存添加可将IP地址InetAddr解析成物理地址EtherAddr的靜态項。要向指定接口的表添加靜态ARP緩存項,請使用IfaceAddr參數,此處的IfaceAddr代表指派給該接口的IP地址。
/?
在命令提示符下顯示幫助。
注釋
InetAddr和IfaceAddr的IP地址用帶圓點的十進制記數法表示。
EtherAddr的物理地址由六個字節組成,這些字節用十六進制記數法表示并且用連字符隔開(比如,00-AA-00-4F-2A-9C)。
通過-s參數添加的項屬于靜态項,它們不會ARP緩存超時。如果終止TCP/IP協議後再啟動,這些項會被删除。要創建永久的靜态ARP緩存項,請将适當的arp命令置于批處理文件中,并使用“任務計劃”在啟動時運行該批處理文件。n
命令應用
常見用法
arp-a或arp–g
用于查看高速緩存中的所有項目。-a和-g參數的結果是一樣的,多年來-g一直是UNIX平台上用來顯示ARp高速緩存中所有項目的選項,而Windows用的是arp-a(-a可被視為all,即全部的意思),但它也可以接受比較傳統的-g選項。
arp-aIp
如果有多個網卡,那麼使用arp-a加上接口的Ip地址,就可以隻顯示與該接口相關的ARp緩存項目。
arp-sIp物理地址
可以向ARp高速緩存中人工輸入一個靜态項目。該項目在計算機引導過程中将保持有效狀态,或者在出現錯誤時,人工配置的物理地址将自動更新該項目。
arp-dIp
使用該命令能夠人工删除一個靜态項目。n
相關應用
在PC上綁定安全網關的IP和MAC地址:
首先,獲得安全網關的内網的MAC地址(例如HiPER網關地址192.168.16.254的MAC地址為0022aa0022aa)。
編寫一個批處理文件rarp.bat内容如下:
将這個批處理軟件拖到“windows開始程序啟動”中。