如何快速获取设备ip地址

源代码下载地址: git clone https://github.com/HappyFreeAngel/discover-device-ip.git
在日常调试特种设备如IOT设备,打印机,或树莓派设备,特别是没有屏幕,键盘鼠标的情况下,只是知道这个设备可以获取到一个IP地址,可能是dhcp 获取或已经设置了静态ip 地址, 同时知道这个设备的用户密码等,但是没有显示器,键盘鼠标,或者安装显示器键盘等外设比较麻烦的情况下,
如何获取这个设备的IP,进而进行控制呢?

  1. 保存下列代码为 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

  1. 接上你的设备 如树莓派,或其他能联网的设备
  2. netscan.sh 192.168.2 1,255 > /tmp/1.txt ; sort /tmp/1.txt >/tmp/withDeviceIP.txt
  3. 快速断开你的设备(断网 或断电 都可以)
  4. 执行netscan.sh 192.168.2 1,255 > /tmp/2.txt; sort /tmp/2.txt >/tmp/withoutDeviceIP.txt.txt
  5. diff /tmp/withDeviceIP.txt.txt /tmp/withoutDeviceIP.txt.txt
  6. 即可知道刚连接上的IP地址是多少。
    上面之所以要用sort 排序是因为netscan 是异步并发执行的,结果可靠但是顺序每次执行都不一样,
    所以必须要sort 排序之后结果才会准确.
    在这里插入图片描述

这方法可以用于快速确认新连接设备的IP地址。

如果您不确定是否真的是这个IP地址,可以 ping 刚才获取的新的IP 192.168.2.130,
然后把你的设备网线/WI-FI/或断电,看看是不是ping 不通了。
如果是肯定是这个IP没有错。

一行代码执行方法:
ipinfo=“192.168.1 2,254”;git clone https://github.com/HappyFreeAngel/discover-device-ip.git; cd discover-device-ip; ./netscan.sh ${ipinfo} >/tmp/1.txt; echo “请断开设备 然后按回车”; read user_input; netscan.sh ${ipinfo} >/tmp/2.txt; sort /tmp/1.txt >/tmp/11.txt; sort /tmp/2.txt >/tmp/12.txt;diff /tmp/11.txt /tmp/12.txt;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心自由天使

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值