ARP命令詳解
ARP是一個重要的TCP/IP協議,並且用於確定對應IP地址的網卡物理地址。實用arp命令,我們能夠查看本地計算機或另一台計算機的ARP高速緩存中的當前內容。此外,使用arp命令,也可以用人工方式輸入靜態的網卡物理/IP地址對,我們可能會使用這種方式為缺省網關和本地服務器等常用主機進行這項作,有助於減少網絡上的信息量。
按照缺省設置,ARP高速緩存中的項目是動態的,每當發送一個指定地點的數據報且高速緩存中不存在當前項目時,ARP便會自動添加該項目。一旦高速緩存的項目被輸入,它們就已經開始走向失效狀態。例如,在Windows NT/2000網絡中,如果輸入項目后不進一步使用,物理/IP地址對就會在2至10分鍾內失效。因此,如果ARP高速緩存中項目很少或根本沒有時,請不要奇怪,通過另一台計算機或路由器的ping命令即可添加。所以,需要通過arp命令查看高速緩存中的內容時,請最好先ping 此台計算機(不能是本機發送ping命令)。
在命令行中輸入arp /?可以得到ARP命令的詳細說明,這里就不照搬內容了。
ARP常用命令選項:
·arp -a或arp -g
用於查看高速緩存中的所有項目。-a和-g參數的結果是一樣的,多年來-g一直是UNIX平台上用來顯示ARP高速緩存中所有項目的選項,而Windows用的是arp -a(-a可被視為all,即全部的意思),但它也可以接受比較傳統的-g選項。
顯示所有接口的當前 ARP 緩存表。要顯示特定 IP 地址的 ARP 緩存項,請使用帶有 InetAddr 參數的 arp -a,此處的 InetAddr 代表 IP 地址。如果未指定 InetAddr,則使用第一個適用的接口。要顯示特定接口的 ARP 緩存表,請將 -N IfaceAddr 參數與 -a 參數一起使用,此處的 IfaceAddr 代表指派給該接口的 IP 地址。-N 參數區分大小寫。
·arp -a IP
如果我們有多個網卡,那么使用arp -a加上接口的IP地址,就可以只顯示與該接口相關的ARP緩存項目。
·arp -s IP 物理地址
我們可以向ARP高速緩存中人工輸入一個靜態項目。該項目在計算機引導過程中將保持有效狀態,或者在出現錯誤時,人工配置的物理地址將自動更新該項目。向 ARP 緩存添加可將 IP 地址 InetAddr 解析成物理地址 EtherAddr 的靜態項。要向指定接口的表添加靜態 ARP 緩存項,請使用 IfaceAddr 參數,此處的 IfaceAddr 代表指派給該接口的 IP 地址。
·arp -d IP
使用本命令能夠人工刪除一個靜態項目。刪除指定的 IP 地址項,此處的 InetAddr 代表 IP 地址。對於指定的接口,要刪除表中的某項,請使用 IfaceAddr 參數,此處的 IfaceAddr 代表指派給該接口的 IP 地址。要刪除所有項,請使用星號 (*) 通配符代替 InetAddr。
例如我們在命令提示符下,我們使用過 Ping 命令測試並驗證從這台計算機到 IP 地址為 10.0.0.99 的主機的連通性,然后再鍵入 Arp -a,則 ARP 緩存顯示以下項:
Interface:10.0.0.1 on interface --- 0x1
Internet Address Physical Address Type
10.0.0.99 00-e0-98-00-7c-dc dynamic
在此例中,緩存項指出位於 10.0.0.99 的遠程主機解析成 00-e0-98-00-7c-dc 的媒體訪問控制地址,它是在遠程計算機的網卡硬件中分配的。媒體訪問控制地址是計算機用於與網絡上遠程 TCP/IP 主機物理通訊的地址。
至此我們可以用ipconfig和ping命令來查看自己的網絡配置並判斷是否正確、可以用netstat查看別人與我們所建立的連接並找出ICQ使用者所隱藏的IP信息、可以用arp查看網卡的MAC地址。
用nmap對局域網掃描一遍,然后查看arp緩存表就可以知道局域內ip對應的mac了。nmap比較強大也可以直接掃描mac地址和端口。執行掃描之后就可以 cat /proc/net/arp查看arp緩存表了。
進行ping掃描,打印出對掃描做出響應的主機:
$ nmap -sP 192.168.1.0/24
僅列出指定網絡上的每台主機,不發送任何報文到目標主機:
$ nmap -sL 192.168.1.0/24
探測目標主機開放的端口,可以指定一個以逗號分隔的端口列表(如-PS 22,23,25,80):
$ nmap -PS 192.168.1.234
使用UDP ping探測主機:
$ nmap -PU 192.168.1.0/24
使用頻率最高的掃描選項(SYN掃描,又稱為半開放掃描),它不打開一個完全的TCP連接,執行得很快:
$ nmap -sS 192.168.1.0/24