首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python与NMap通信()

Python与NMap通信()
EN

Stack Overflow用户
提问于 2014-11-17 03:45:50
回答 1查看 951关注 0票数 0

我的守则:

代码语言:javascript
复制
#!/usr/bin/python

## test communicate()

# Import the module
import subprocess

# Ask the user for input
host = raw_input("Enter a host to map: ")   

# Set up the echo command and direct the output to a pipe
p1 = subprocess.Popen(['nmap', '-T0', '-F', host], stdout=subprocess.PIPE)

# Run the command
output = p1.communicate()[0]

print output

当我进入主机时,它不会给我任何输出,而且我可以看到多个nmap实例在进程中以不同的PID运行,因此它实际上执行命令。

当我Z^时,它说: n+1+已停止./sample.py,所以nmap实际上运行了n+1时间,而没有打印任何输出。

对于ping和traceroute来说,它工作得非常好:

代码语言:javascript
复制
# Set up the echo command and direct the output to a pipe
p1 = subprocess.Popen(['ping', '-c 2', host], stdout=subprocess.PIPE)
p1 = subprocess.Popen(['traceroute', host], stdout=subprocess.PIPE)

它也没有nmap选项,比如nmap google.com。

代码语言:javascript
复制
p1 = subprocess.Popen(['nmap', host], stdout=subprocess.PIPE)

我的问题是:

它与Python或NMap有关吗?这个代码有什么问题吗?还是我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-17 13:07:02

来自文献资料

T0的主要效果是序列化扫描,一次只扫描一个端口,并在发送每个探针之间等待5分钟。

-F参数意味着“只扫描100个端口”,但在探针之间的5分钟内,这是至少8小时零20分钟的,仅用于端口扫描阶段。这是假设这些探测没有一个被丢弃和重新传输,并且目标对所有这些都有响应。

在绝大多数情况下,-T3 (默认)是很好的。与快速连接,而不是吨的目标,-T4甚至是可靠的。除非您的目标是主动检测和阻止扫描,否则-T2将是您需要执行的最慢的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26965188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档