我正在尝试连接到二手外部 wifi 摄像头。它有一个以太网插槽和一张带有 MAC 地址的贴纸,但没有其他品牌或型号/序列号。
我正在尝试查找它的 IP 地址。
我当前的计划是直接在我的机器和该相机之间连接以太网电缆,然后使用以下命令扫描所有保留的私有 IPv4 范围nmap
:
ip addr add 10.0.0.1/8 dev eno2
ip addr add 172.16.0.1/12 dev eno2
ip addr add 192.168.0.1/16 dev eno2
nmap -sn 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8
但这可能需要很长时间(我猜大约 74 小时),并且我无法确定该设备是否未使用 IPv6。有更好的解决方案吗?
答案1
您可以安装DHCP
服务器,然后检查其日志以获取摄像机获取的 IP 地址。
或者,您可以运行tcpdump
查看 LAN 上正在通信的所有设备。
您可以使用以下命令监控以太网端口tcpdump
:
sudo tcpdump -A -i eno2
就我而言,我得到以下信息,似乎确认该设备没有 IP 并且确实正在通信(MAC 是正确的)
11:26:29.247184 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from xx:xx:xx:xx:xx:Xx (oui Unknown), length 291
安装并配置 DHCP 服务器:
sudo apt install isc-dhcp-server
sudo ip addr add 192.168.2.1/24 dev eno2
将以下内容添加到`/etc/dhcp/dhcpd.conf
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.10 192.168.2.20;
}
设置INTERFACESv4="eno2"
在/etc/default/isc-dhcp-server
.
sudo systemctl restart ics-dhcp-server.service
现在检查日志以查看是否已颁发任何 IP 地址:
sudo journalctl -u isc-dhcp-server.service
Nov 24 11:31:11 simswe24 systemd[1]: Started LSB: DHCP server.
Nov 24 11:31:12 simswe24 dhcpd[14238]: DHCPOFFER on 192.168.2.10 to xx:xx:xx:xx:xx:xx (BV-CAM06S) via eno2
Nov 24 11:31:12 simswe24 dhcpd[14238]: DHCPREQUEST for 192.168.2.10 (172.16.0.1) from xx:xx:xx:xx:xx:xx (BV-CAM06S) via eno2
Nov 24 11:31:12 simswe24 dhcpd[14238]: DHCPACK on 192.168.2.10 to xx:xx:xx:xx:xx:xx (BV-CAM06S) via eno2
答案2
您可以在设备连接的接口上执行广播 ping:
$ sudo ping -I enp0s31f6 -b 255.255.255.255
WARNING: pinging broadcast address
PING 255.255.255.255 (255.255.255.255) from 192.168.86.32 enp0s31f6: 56(84) bytes of data.
64 bytes from 192.168.86.23: icmp_seq=1 ttl=64 time=6.04 ms
64 bytes from 192.168.86.43: icmp_seq=1 ttl=64 time=190 ms
64 bytes from 192.168.86.135: icmp_seq=1 ttl=64 time=192 ms
如果您直接连接到该设备,那么理想情况下您收到的唯一响应将来自该设备,并且该响应将包含 IP 地址。
编辑
由于对该建议的有效性存在一些疑问,因此我认为添加有关我上面演示的结果的一些细节可能是有价值的。
首先,我要强调的是,我做到了不是收到网络上每台设备的响应,因此此建议显然不适用于所有类型的设备。
接下来,让我们更仔细地查看我确实收到响应的远程主机之一:
64 bytes from 192.168.86.135: icmp_seq=1 ttl=64 time=192 ms
该主机的 MAC 地址是什么?
$ arp -n | grep 192.168.86.135
192.168.86.135 ether 50:c7:bf:b1:f5:9b C enp0s31f6
该设备的制造商是什么?
$ grep -i 50c7bf /usr/share/arp-scan/ieee-oui.txt
50C7BF TP-LINK TECHNOLOGIES CO.,LTD.
我猜这是我家的智能插头之一。
简而言之,某些设备可能会响应,而某些设备可能不会响应,具体取决于其网络堆栈和安全配置。如果不了解您相机的这些细节,就不可能明确地说这是否适合您的情况。