使用子进程运行nmap无法提供所需的输出

问题描述

我刚刚开始进行渗透测试,并且我一直在tryhackme.com的房间中工作,我注意到每个房间的第一步都是运行nmap。我还发现了一个名为rustscan的工具,该工具可用于快速查找所有打开的端口,这使我可以将那些端口放入nmap,从而节省大量时间。我正在制作一个带ip的python脚本,在其上运行rustscan以获取打开的端口,然后在这些端口上运行nmap。问题是,当我运行nmap扫描时,从某种意义上说,它比预期的要短,但不能提供预期的输出。我直接在终端中运行我的程序直接使用的同一命令,并且输出完全不同。该命令为nmap -A --reason -Pn -sV -sC --script vuln -T5 -p OPENPORTS IP。在我的脚本中,它看起来像

nmap = Popen(["sudo","nmap",*nmapArgs,ip],stdout=PIPE,stderr=STDOUT) # Run nmap
out = nmap.communicate()[0] # Get the output
out = GREEN + out.decode("utf-8") + ENDCOLOR # Make output green
print(out)

代码输出非常短,几乎就像没有使用我为nmap传递的标志一样。

完整代码可在此处https://github.com/JustAnotherPythonProgrammer/PenetrationTesting/blob/main/EnumerateDevice.py

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)