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



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

我确实注意到,即使安装在任何这些方法上都没有失败,只有手动安装使其显示在 dist-packages 文件夹中,并且在此之后它仍然不起作用。 我的 python 版本都没有 nmap 模块。 有谁知道我应该尝试完成这项工作的其他事情吗?我目前运行的是基于Debian 9的操作系统。 提前感谢您的帮助。 这是错误

Cannot find reference 'PortScanner' in '__Init__.py'

这是我的代码

import nmap
ns = nmap.PortScanner()

基本上你必须安装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]

相关内容

最新更新