Python 3无法识别nmap模块,这是我在做什么错?

问题描述 投票:0回答:1

最近,我一直在学习python,我刚刚开始一个制作nmap扫描脚本的项目,该脚本将扫描网络范围内的开放端口。我唯一的问题是我已经安装了nmap模块,但在我的代码中却说,当我尝试运行该模块时,该模块没有属性端口扫描程序。我已经四处寻找解决方案,并且看到了许多不同的解决方案,在此将列出我尝试过的解决方案。首先是安装无效的python-nmap接下来是安装模块nmap,这也不起作用我还听说您应该卸载nmap并安装python-nmap,但这也没有用接下来,有人建议,由于我使用的是python3,因此我应该使用pip3来安装python-nmap,但该方法也不起作用接下来,我尝试手动下载并安装它,并将其放在/lib/python3.7/dist-packages中,这似乎没有任何作用

我确实注意到,即使在这些方法中的安装都没有失败,只有手动安装才将其显示在dist-packages文件夹中,并且此后仍然无法正常工作。我的python版本均未在其中包含nmap模块。有谁知道我应该做的其他事情?我目前正在运行基于Debian 9的操作系统。谢谢您的帮助。

python pip nmap
1个回答
0
投票

基本上,您必须安装nmap

sudo apt-get install nmap

然后安装python模块:

sudo pip3 install -U python-nmap

此后,您就可以开始了:

>>> import nmap
>>> nm = nmap.PortScanner()
>>> nm.scan('127.0.0.1', '22-443')
>>> nm.command_line()
'nmap -oX - -p 22-443 -sV 127.0.0.1'
>>> nm.scaninfo()
{'tcp': {'services': '22-443', 'method': 'connect'}}
>>> nm.all_hosts()
['127.0.0.1']
>>> nm['127.0.0.1'].hostname()
'localhost'
>>> nm['127.0.0.1'].state()
'up'
>>> nm['127.0.0.1'].all_protocols()
['tcp']
>>> nm['127.0.0.1']['tcp'].keys()
[80, 25, 443, 22, 111]
© www.soinside.com 2019 - 2024. All rights reserved.