在日常調試特種設備如IOT設備,打印機,或樹莓派設備,特別是沒有屏幕,鍵盤鼠標的情況下,只是知道這個設備可以獲取到一個IP地址,可能是dhcp 獲取或已經設置了靜態ip 地址, 同時知道這個設備的用戶密碼等,但是沒有顯示器,鍵盤鼠標,或者安裝顯示器鍵盤等外設比較麻煩的情況下,
如何獲取這個設備的IP,進而進行控制呢?
- 保存下列代碼爲 netscan.sh 並設置執行權限 chmod +x netscan.sh
#!/usr/bin/env bash
domain=`echo $1`
ip_start=`echo $2| cut -d "," -f 1`
ip_end=`echo $2| cut -d "," -f2`
ip_crt=`echo $ip_start`
function segScan(){
ping -c 1 $1.$2 > /dev/null && echo "$2 is alive"&
rst=`echo $?`
return $rst
}
while [ $ip_crt -ne $ip_end ]
do
{
segScan $domain $ip_crt
rst=`echo $?`
ip_crt=$((ip_crt+1))
}
done
wait
- 接上你的設備 如樹莓派,或其他能聯網的設備
- netscan.sh 192.168.2 1,255 > /tmp/withDeviceIP.txt
- 快速斷開你的設備(斷網 或斷電 都可以)
- 執行netscan.sh 192.168.2 1,255 > /tmp/withoutDeviceIP.txt
- diff /tmp/withDeviceIP.txt /tmp/notDeviceIP.txt
- 即可知道剛連接上的IP地址是多少。
這方法可以用於快速確認新連接設備的IP地址。
如果您不確定是否真的是這個IP地址,可以 ping 剛纔獲取的新的IP 192.168.2.130,
然後把你的設備網線/WI-FI/或斷電,看看是不是ping 不通了。
如果是肯定是這個IP沒有錯。