我需要从我的网卡获取所有 mac 地址。因此我使用 Debian 的 nmap 并结合 PHP。
但是,如果没有 root 权限,这只能给我目标的 IP 地址和状态。有了 root 权限,我就可以获取 IP、状态和 MAC 地址。
我如何才能script.sh
以 root 权限执行此命令(或使用 nmap 的命令),而无需执行“破解的服务器”(如ALL=NOPASSWD
)
答案1
如果你想获取远程 IP 的 MAC 地址,你可以简单地检查 ARP 缓存,如/proc/net/arp
#!/bin/sh
IP=$1
# make sure that the ARP-cache holds the entry for this IP
ping -c1 "${IP}" 2>&1 >/dev/null
# get the MAC-address
egrep -w "^${IP}" /proc/net/arp | awk '{print $4}'
答案2
设置您的脚本的uid或为其创建sudo规则。