• 正文
    • arping介紹:
    • openwrt編譯:
    • arping使用:
    • 結(jié)語
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

openwrt開發(fā)使用-arping

03/11 10:19
528
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

IP沖突引起的網(wǎng)絡(luò)異常,可以通過檢查IP是否沖突,排除故障。我們可以用一些工具進(jìn)行檢查,例如arp-scan、arping軟件進(jìn)行查看。

這里使用arping進(jìn)行檢查設(shè)備的MAC地址,通過查查看MAC地址是否唯一,從而判斷IP是否沖突,

原理:每臺(tái)設(shè)備的MAC地址是唯一的,若arping返回的MAC出現(xiàn)2個(gè)甚至多個(gè),說明這個(gè)IP對(duì)應(yīng)于多臺(tái)設(shè)備,則存在IP地址沖突的情況。

歡迎關(guān)注微信公眾號(hào):羽林君,或者添加作者個(gè)人微信:become_me

arping介紹:

arping命令來自于英文詞組”ARP ping“的縮寫,其功能是用于發(fā)送ARP請(qǐng)求報(bào)文,ARP全稱為”Address Resolution Protocol“,中文譯為地址解析協(xié)議。arping命令是以廣播地址發(fā)送arp packets,以太網(wǎng)內(nèi)所有的主機(jī)都會(huì)收到這個(gè)arp packets,但是本機(jī)收到之后不會(huì)Reply任何信息,來測試網(wǎng)絡(luò)狀態(tài),能夠判斷某個(gè)指定IP地址是否在網(wǎng)絡(luò)上已被使用,并能夠獲取更多設(shè)備信息,像是加強(qiáng)版的ping命令。

openwrt編譯:

make menuconfig進(jìn)入,“ ?” 進(jìn)行搜索arping,查看編譯具體的配置

搜索情況如下:

Symbol:?BUSYBOX_CONFIG_ARPING?[=n]????????????????????????????????????????????????????????????????????????????????????????????????????
Type??:?bool??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
Defined?at?package/utils/busybox/config/networking/Config.in:92???????????????????????????????????????????????????????????????????
??Prompt:?arping?(9?kb)???????????????????????????????????????????????????????????????????????????????????????????????????????????
??Depends?on:?(PACKAGE_busybox?[=y]?||?PACKAGE_busybox-selinux?[=n])?&&?BUSYBOX_CUSTOM?[=n]???????????????????????????????????????
??Location:???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?(1)?->?Base?system????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????->?Networking?Utilities?????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
Symbol:?BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING?[=n]?????????????????????????????????????????????????????????????????????????????????
Type??:?bool??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
Defined?at?package/utils/busybox/config/networking/udhcp/Config.in:72?????????????????????????????????????????????????????????????
??Prompt:?Verify?that?the?offered?address?is?free,?using?ARP?ping?????????????????????????????????????????????????????????????????
??Depends?on:?(PACKAGE_busybox?[=y]?||?PACKAGE_busybox-selinux?[=n])?&&?BUSYBOX_CUSTOM?[=n]?&&?BUSYBOX_CONFIG_UDHCPC?[=n]?????????
??Location:???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?(2)?->?Base?system????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????->?Networking?Utilities????????????????????????????????????????????????????????????????????????????????????????
?????????->?udhcpc?(24?kb)?(BUSYBOX_CONFIG_UDHCPC?[=n])

Symbol:?BUSYBOX_DEFAULT_ARPING?[=n]????????????????????????????????????????????????????????????????????????????????
Type??:?bool?????????????????????????????????????????????????????????????????????????????????????????????????????????
Defined?at?package/utils/busybox/Config-defaults.in:2241?????????????????????????????????????????????????????????????
??Depends?on:?PACKAGE_busybox?[=y]?||?PACKAGE_busybox-selinux?[=n]???????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
Symbol:?BUSYBOX_DEFAULT_FEATURE_UDHCPC_ARPING?[=n]???????????????????????????????????????????????????????????????????
Type??:?bool?????????????????????????????????????????????????????????????????????????????????????????????????????????
Defined?at?package/utils/busybox/Config-defaults.in:2676?????????????????????????????????????????????????????????????
??Depends?on:?PACKAGE_busybox?[=y]?||?PACKAGE_busybox-selinux?[=n]

第一個(gè)就是Prompt: arping (9 kb) ,直接開始設(shè)置,進(jìn)入 ?Base system

設(shè)置Customize busybox options為y打開,這個(gè)時(shí)候就可以后續(xù)的Networking Utilities配置

找到Networking Utilities 里面找一下arping 設(shè)置ymake編譯

編譯固件進(jìn)行替換升級(jí)sysupgrade -n op openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-sysupgrade.bin

重啟后就可以看到arping這個(gè)軟件

arping使用:

選項(xiàng)

-f:表示在收到第一個(gè)響應(yīng)報(bào)文后就退出;
-q:quiet output不顯示任何信息;
-b:用于發(fā)送以太網(wǎng)廣播幀(FFFFFFFFFFFF)。arping一開始使用廣播地址,在收到響應(yīng)后就使用unicast地址。
-D:檢測某個(gè)IP是否被使用,后邊跟上一個(gè)IP地址
-U:主動(dòng)的ARP模式,更新鄰居的arp表
-A:ARP回復(fù)模式,更新鄰居arp
-c N:發(fā)送數(shù)據(jù)包的數(shù)目
-w timeout:設(shè)定一個(gè)超時(shí)時(shí)間,單位是秒。如果到了指定時(shí)間,arping還沒到完全收到響應(yīng)則退出;
-I IFACE:指定使用的以太網(wǎng)設(shè)備,默認(rèn)使用eth0
-s SRC_IP:指定源IP地址
DST_IP:指定目標(biāo)IP地址

arping -I br-lan -c 3 192.168.1.151

我們可以查看mac地址看是否有重復(fù)ip的設(shè)備

同樣類似使用wireshark捕獲數(shù)據(jù)也可以看到

執(zhí)行如下命令:ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa root@192.168.1.1 'tcpdump -s 0 -U -n -w - -i br-lan not port 22' | ./wireshark.exe -k -i - 這個(gè)時(shí)候也可以看到arping三次的過程

附錄:一個(gè)打印MAC地址的腳本:arping -I br-lan -c 3 192.168.1.151 | awk '/reply/ {macaddr_str=$5; mac=substr(macaddr_str,2,length(macaddr_str) - 2);print mac}'

結(jié)語

這就是我自己在openwrt使用arping操作的分享。如果大家有更好的想法,也歡迎大家加我好友交流分享哈。

作者:良知猶存,白天努力工作,晚上原創(chuàng)公號(hào)號(hào)主。公眾號(hào)內(nèi)容除了技術(shù)還有些人生感悟,一個(gè)認(rèn)真輸出內(nèi)容的職場老司機(jī),也是一個(gè)技術(shù)之外豐富生活的人,攝影、音樂 and 籃球。關(guān)注我,與我一起同行。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

一個(gè)程序員,喜歡寫文章,還喜歡打籃球,也喜歡吉他鋼琴的駁雜之人。日常更新自己,分享包括但不限于C/C++、嵌入式、物聯(lián)網(wǎng)、Linux等編程學(xué)習(xí)筆記,同時(shí),公眾號(hào)內(nèi)包含大量的學(xué)習(xí)資源。歡迎關(guān)注,一同交流學(xué)習(xí),共同進(jìn)步!