LinuxArp命令顯示和修改地址解析協議(ARP)使用的“IP到物理”地址轉換表。
ARP-sinet_addreth_addr[if_addr]ARP-dinet_addr[if_addr]ARP-a[inet_addr][-Nif_addr][-v]-a通過詢問當前協議數據,顯示當前ARP項。
如果指定inet_addr,則只顯示指定計算機的IP地址和物理地址。
如果不止一個網絡接口使用ARP,則顯示每個ARP表的項。-g與-a相同。
-v在詳細模式下顯示當前ARP項。所有無效項和環回接口上的項都將顯示。
inet_addr指定Internet地址(IP地址)。
-Nif_addr顯示if_addr指定的網絡接口的ARP項。
-d刪除inet_addr指定的主機。
inet_addr可以是通配符*,以刪除所有主機。-s添加主機并且將Internet地址inet_addr與物理地址eth_addr相關聯。
物理地址是用連字符分隔的6個十六進制字節。該項是永久的。
eth_addr指定物理地址。
if_addr如果存在,此項指定地址轉換表應修改的接口的Internet地址。如果不存在,則使用第一個適用的接口。
示例:添加靜態項。
這個很有用,特別是局域網中中了arp病毒以后#arp-s123.253.68.20900:19:56:6F:87:D2#arp-a....顯示ARP表。但是arp-s設置的靜態項在用戶登出之后或重起之后會失效,如果想要任何時候都不失效,可以將ip和mac的對應關系寫入arp命令默認的配置文件/etc/ethers中例如:引用root@ubuntu:/#vi/etc/ethers211.144.68.25400:12:D9:32:BF:44寫入之后執行下面的命令就好了引用arp-f/etc/ethers為保證重起之后綁定仍然有效,需要把上述命令寫入/etc/ethersARP(AddressResolutionProtocol),或稱地址解析協議。
本地機向"某個IP地址--目標機IP地址"發送數據時,先查找本地的ARP表,如果在ARP表中找到"目標機IP地址"的ARP表項,(網絡協議)將把"目標機IP地址"對應的"MAC地址"放到MAC包的"目的MAC地址字段"直接發送出去;如果在ARP表沒有找到"目標機IP地址"的ARP表項,則向局域網發送廣播ARP包("目的MAC地址字段"==FF:FF:FF:FF:FF:FF),目標機將向本地機回復ARP包(包含目標機的MAC地址)