Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux arping 命令檢測 IP 衝突與鏈路通達性實戰

編輯:Linux 系統常見問題解答

前言

arping 工作於**資料鏈路層 (Layer 2)**,發送 ARP 請求,適用於**同一廣播域**內的 IP 衝突檢測、裝置存活確認、MAC 位址解析。比 ICMP ping 更底層、不受防火牆阻擋 ICMP 影響。

安裝

# CentOS/RHEL
yum install -y iputils

# Ubuntu/Debian
apt-get install -y iputils-arping

常用參數

參數說明
-c N發送 N 個請求後結束
-f收到第一個回應即結束
-D重複位址偵測 (DAD) 模式,無回應表示 IP 可用
-I eth0指定介面(預設 eth0)
-s IP指定來源 IP
-q靜默模式(僅回傳碼)
-b廣播模式

實戰範例

1. 檢測 IP 是否被佔用 (DAD 模式)

arping -c 3 -f -D 192.168.2.222
# 回傳碼 0 = 無回應 (IP 空閒)
# 回傳碼 1 = 有回應 (IP 已佔用,顯示 MAC)

輸出範例:

ARPING 192.168.2.222 from 0.0.0.0 eth0
Sent 3 probes (3 broadcast(s))
Received 0 response(s)
# 回傳碼 0,IP 可用
ARPING 192.168.2.106 from 0.0.0.0 eth0
Unicast reply from 192.168.2.106 [00:11:22:33:44:55]  0.842ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
# 回傳碼 1,IP 已被 00:11:22:33:44:55 佔用

2. 指定介面與來源 IP 掃描

arping -I eth1 -c 2 -s 10.0.0.5 10.0.0.100

3. 批量掃描網段尋找空閒 IP

#!/bin/bash
NET="192.168.1"
for i in {1..254}; do
    arping -c 1 -f -D -q $NET.$i && echo "$NET.$i 可用" &
done
wait

腳本化判斷回傳碼

if arping -c 1 -f -D 192.168.1.50 >/dev/null 2>&1; then
    echo "IP 空閒,可分配"
else
    echo "IP 已佔用"
fi

arping vs ping 對比

特性arpingping (ICMP)
層級Layer 2 (ARP)Layer 3 (ICMP)
跨路由否 (同廣播域)是
受防火牆影響極少常被封鎖
可得 MAC是否
需 IP 衝突檢測最佳不適用

結語

arping 是**區域網路 IP 管理、衝突排查、裝置發現**的利器。配合 -D 模式可安全檢測 IP 可用性,自動化腳本極簡。記住:只能用於**同一 Layer 2 網段**。

Copyright © Windows教程網 All Rights Reserved