兩種IP衝突檢測方法

arping

假設需要檢測A主機(192.168.1.66)的ip地址是否衝突,在同一網段的B主機(192.168.1.55)上執行以下命令:

$arping 192.168.1.66

ARPING 192.168.1.66 from 192.168.1.55 eth0
Unicast reply from 192.168.1.66 '[10:ab:ec:75:97:C1]' 2.186ms
Unicast reply from 192.168.1.66 '[40:98:6f:45:19:69]' 1.854ms
Unicast reply from 192.168.1.66 '[40:98:6f:45:19:69]' 1.108ms

如果只檢查出一個MAC地址,則表示A的IP是唯一的。
如果如上所示檢測出兩個MAC地址,則表示同網段內有另一臺主機與A主機IP衝突。

檢驗原理

arping命令是以廣播地址發送arp packets,以太網內所有的主機都會收到這個arp packets,但是本機收到之後不會Reply任何信息。 當我們在linux主機端上執行下面的命令時:
arping 192.168.1.66
會默認使用eth0,向局域網內所有的主機發送一個:
who has 192.168.1.66的arp request,tell 192.168.1.55 your mac address
當這臺主機收到這個arp packets後,則會應答:
"I am 192.168.1.66 , mac是40:98:6f:45:19:69"
這樣我們會收到mac地址爲40:98:6f:45:19:69的主機的Reply信息。

arping 命令簡介

發送一個ARP REQUEST 到相鄰主機

語法

arping [-AbDfhqUV] [-c count] [-w deadline] [-s source] [-I interface] destination

描述

使用源地址’source’通過ARP數據包在設備接口interface上Ping目的地址destination。

選項

選項 描述
-A -U相同,但使用ARP REPLY數據包而不是ARP REQUEST。
-b 僅發送MAC級廣播。通常arping從發送廣播開始,並在回覆後切換到單播接收。
-c count  發送count個ARP REQUEST數據包後停止。如果使用deadline選項,等待count個ARP REPLY數據包,或直到截止時間到期。
-D 重複地址檢測模式(DAD)。見RFC2131,4.4.1。如果DAD成功,則返回0,即不會受到回覆
-f 在確認目標有效的第一個回覆後完成。
-I interface 指定發送ARP REQUEST報文的網絡接口。
-h 打印幫助信息並退出。
-q 安靜的輸出。什麼都沒顯示。
-s source 用於ARP數據包的IP源地址。如果此選項不存在,源地址爲:(1)在DAD模式下(選項-D)設置爲0.0.0.0。(2)在未經請求的ARP模式下(選項-U-A)設置爲destination。(3)否則,它是從路由表計算的。
-U Unsolicited ARP模式用來更新鄰居的ARP緩存。預計不會有回覆。
-V 打印版本信息並退出。
-w deadline 無論已發送或接收了多少數據包,都指定arping退出之前的超時(以秒爲單位)。在這種情況下arping在發送了conunt個數據包後不會停止,它等待截止時間到期或直到count個探測得到應答。

arp-scan

arp-scan這個工具會在本地網絡發送ARP(Address Resolution Protocol)(地址解析協議)包來收集地址。如果有多個MAC地址聲稱擁有相同的IP地址,那麼這裏就存在衝突。
首先安裝arp-scan,然後

  1. arp-scan -l 命令表示查看與本機在同一局域網內的所有機器的ip使用情況
  2. arp-scan –I eth0 -l 命令表示查看與本機在同一局域網內的所有主機的eth0網卡的ip使用情況
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章