我试图在linux中使用nmap命令的输出(shell输出):
sudo nmap -sn 192.168.1.0/24
------
Nmap scan report for 192.168.1.98
Host is up (0.094s latency).
MAC Address: B8:27:EB:CE:0A:9F (Raspberry Pi Foundation)
在通过子流程的python脚本中:
import subprocess
p = subprocess.Popen(["nmap", "-sn", "192.168.1.0/24"], stdout=subprocess.PIPE)
output, err = p.communicate()
print ("*** Running nmap -sn 192.168.1.0/24 ***\n", output)
除了我需要shell输出所具有的MAC线和子进程所没有的MAC线之外,它工作得非常好
子流程输出:
\nNmap scan report for 192.168.1.98\nHost is up (0.015s latency).\n
我正在研究一个通过MAC/Name获得IP的想法,如果没有这条线路,我看不出怎么做
在python中,不需要将nmap作为子进程运行,只需安装nmap库并导入即可
然后编写代码:
当你运行你的代码时,你必须以sudo的身份运行,否则你就得不到MAC地址
输出应该如下所示
我希望这是有帮助的:-)
相关问题 更多 >
编程相关推荐