方法一、ping & arp
向ping一次目标主机,然后使用arp命令:
#!/bin/sh ping -c 7 "<ip-address>" # !!!fping!!! # 如果有有必要的话,可以使用fping -g "<ip-address>/<prefix>"来探测整个网段 # 仅打印可达主机:fping -g "<ip-address>/<prefix>" 2>/dev/null arp -an | grep "<ip-address>"
方法二、arping
#!/bin/sh arping -I <interface> <host> # !!!「arping」有两个版本:一个是iputils;另一个Thomas Habets开发,功能更多。
方法三、namp
有些主机可能屏蔽了ICPM报文,所以使用ping可能会无效。
可以使用nmap来扫描服务:
#!/bin/sh nmap -sP -PE -PA21,23,80,3389 192.168.1.* # -sP 跳过端口扫描 # -PE 使用ICMP echo request行为 # -PA 扫描特定的端口 # 192.168.1.* 网段
相关文章
man 5 interfaces
「网络」- 延迟与吞吐
在Linux下,修改网卡的MAC地址
「Linux」- 修改主机名
「NetworkManager」- 如何使用 NetworkManager 管理网络
「Linux」- 修改网卡接口名
参考文献
Resolving MAC Address from IP Address in Linux
Arping – To Discover Hosts on a Computer Network
Wikipedia/arping
fping usage to show only reachble hosts