Fir*_*ame 30 networking wake-on-lan ping mac-address arp
我在某个 Debian 机器上有一个 NIC 卡。机器已关闭,但我需要知道 NIC 卡是否打开,以便稍后(从另一台 Debian 机器)发送 wake-on-lan 魔术包将其唤醒。我有卡的MAC地址。有什么办法可以通过MAC ping 以太网卡,看看它是否打开?
我尝试创建一个 ARP 条目:
arp -s 192.168.2.2 00-0c-0d-ef-02-03
ping 192.168.2.2
Run Code Online (Sandbox Code Playgroud)
那没有用,因为 NIC 卡没有这个 IP 地址。所以 NIC 卡会收到 ping 请求,但不会回复它。有没有办法解决?
我正在使用 etherwake 包发送网络唤醒消息。
slm*_*slm 25
改用该工具可能会更好arping
。该工具ping
在OSI 模型的第 3arping
层工作,而在第 2 层工作。
但是使用此工具,您仍然需要知道系统的 IP。它有 2 个版本,大多数 Unix(Alexey Kuznetsov 的)中包含的标准版本是只能处理 IP 地址的版本。的其他版本(托马斯哈伯特)据说可以查询使用MAC地址。
$ sudo arping 192.168.1.1 -c 1
ARPING 192.168.1.1 from 192.168.1.218 eth0
Unicast reply from 192.168.1.1 [00:90:7F:85:BE:9A] 1.216ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
Run Code Online (Sandbox Code Playgroud)
arping
工作原理类似于ping
除了发送 ICMP 数据包之外,它发送 ARP 数据包。
这里有几种方法可以进行 MAC 到 IP 的反向查找。
映射
$ nmap -sP 192.168.1.0/24
Run Code Online (Sandbox Code Playgroud)
然后在您的 arp 缓存中查找相应的机器arp -an
。
平
$ fping -a -g 192.168.1.0/24 -c 1
Run Code Online (Sandbox Code Playgroud)
然后查看您的 arp 缓存,与上面相同。
平
$ ping -b -c1 192.168.1.255
Run Code Online (Sandbox Code Playgroud)
然后查看您的 arp 缓存,与上面相同。
nbtscan(仅限 Windows 主机)
$ nbtscan 192.168.1.0/24
Doing NBT name scan for addresses from 192.168.1.0/24
IP address NetBIOS Name Server User MAC address
------------------------------------------------------------------------------
192.168.1.0 Sendto failed: Permission denied
192.168.1.4 MACH1 <server> <unknown> 00-0b-12-60-21-dd
192.168.1.5 MACH2 <server> <unknown> 00-1b-a0-3d-e7-be
192.168.1.6 MACH3 <server> <unknown> 00-21-9b-12-b6-a7
Run Code Online (Sandbox Code Playgroud)这 ether-wake
命令将通过 mac 地址工作,因此您肯定 (a) 不需要 IP 地址并且 (b) 可以无害地发送命令(如果它已经醒着,唤醒它不会有任何影响?)
您可以通过使用arp -an
和 grep 为您的 MAC 获取目标主机的 IP来查看您现有的 arp 缓存列表。然而,因为 arp 是一个缓存,它可能已经“超时”缓存(并且仍然是“唤醒”)。然后,您可能必须使用蛮力方法来查找它的 IP,例如:
sudo nmap -sP 192.168.2.0/24 | less
Run Code Online (Sandbox Code Playgroud)
(然后寻找 00:0c:0d:ef:02:03) - 前提是防火墙和其他类似的东西不会妨碍!
归档时间: |
|
查看次数: |
70694 次 |
最近记录: |