首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python3不能识别nmap模块,我在这里做错了什么?

Python3不能识别nmap模块,我在这里做错了什么?
EN

Stack Overflow用户
提问于 2019-10-21 09:29:13
回答 1查看 4.1K关注 0票数 0

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

我确实注意到,即使在这些方法中的任何一种安装都没有失败,只有手动安装使它显示在dist-packages文件夹中,并且在此之后仍然无法工作。我的python版本中没有一个包含nmap模块。还有没有人知道我应该试着让它工作呢?我目前运行的是基于Debian9的操作系统。提前感谢您的帮助。这就是错误

代码语言:javascript
运行
复制
Cannot find reference 'PortScanner' in '__Init__.py'

这是我的代码

代码语言:javascript
运行
复制
import nmap
ns = nmap.PortScanner()
EN

回答 1

Stack Overflow用户

发布于 2019-10-21 10:01:43

基本上,您必须安装nmap

代码语言:javascript
运行
复制
sudo apt-get install nmap

然后安装python模块:

代码语言:javascript
运行
复制
sudo pip3 install -U python-nmap

在这之后,你就可以开始了:

代码语言:javascript
运行
复制
>>> 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]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58478745

复制
相关文章

相似问题

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