出现错误:AttributeError:模块“nmap”没有属性“PortScanner”

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

我一直在寻找如何解决这个Python问题的答案:

AttributeError:模块“nmap”没有属性“PortScanner”

我想了解有关端口扫描的更多信息,但我什至无法在我正在使用的 Visual Studio Code 上安装该模块。我已经尝试了我和很多人能想到的一切:

  1. 卸载并重新安装 python-nmap 以及 nmap(因为它们是互连的)。
  2. 我尝试过重命名模块本身。
  3. 我已经在不同的 IDE 上启动了我的代码
  4. 我创建了一个单独的文件夹,并将模块和我的项目放在那里。

目前还没有成功..

这是我的代码:

import nmap


nm = nmap.PortScanner()
nm.scan('127.0.0.1', '22-443')

和输出:

/usr/local/bin/python3 /Users
/user2132/Desktop/PYTHONProjects/portscannning.py
Traceback (most recent call last):
File "/Users/user2132/Desktop/PYTHONProjects/portscannning.py", line 3, in <module>
nm = nmap.PortScanner()
AttributeError: module 'nmap' has no attribute 'PortScanner'

接下来我可以尝试什么?

附注我使用的是MacOS

python module attributeerror nmap port-scanning
2个回答
3
投票

我能够重现该错误。问题出在

nmap
库上。
pip install nmap
安装
nmap python library
,但
python-nmap
需要
nmap binary
,而且
nmap
python库与
python-nmap
冲突,因为它们共享相同的模块名称。正确的
nmap
可以从Nmap的官方下载页面安装

请按照以下步骤操作:

第1步.卸载库

pip uninstall nmap
pip uninstall python-nmap

第2步.安装
python-nmap

pip install python-nmap

步骤 3. 检查
nmap
是否已安装到您的系统中

which nmap

步骤3.如果已安装,继续下一步,如果没有:

前往Nmap官方下载页面,下载并安装适合您操作系统的nmap。

请确保在安装过程中选择

add to PATH
选项。

步骤 4. 重新启动系统(重新启动计算机)

在终端中使用

nmap
命令检查
which nmap
安装。


之后您可以检查

PortScanner
是否在
nmap
中。

import nmap
dir(nmap)

退货

['ET',
 'PortScanner', <=== IS HERE!
 'PortScannerAsync',
 'PortScannerError',
 'PortScannerHostDict',
 'PortScannerTimeout',
 'PortScannerYield',
 'Process',
 '__author__',
 '__builtins__',
 '__cached__',
 '__doc__',
 '__file__',
 '__last_modification__',
 '__loader__',
 '__name__',
 '__package__',
 '__path__',
 '__spec__',
 '__version__',
 'convert_nmap_output_to_encoding',
 'csv',
 'io',
 'nmap',
 'os',
 're',
 'shlex',
 'subprocess',
 'sys']

最终测试

import nmap
nm = nmap.PortScanner()
nm.scan('127.0.0.1', '22-443')

退货

{'nmap': {'command_line': 'nmap -oX - -p 22-443 -sV 127.0.0.1',
  'scaninfo': {'tcp': {'method': 'syn', 'services': '22-443'}},
  'scanstats': {'timestr': 'Tue Mar 29 15:07:02 2022',
   'elapsed': '7.82',
   'uphosts': '1',
   'downhosts': '0',
   'totalhosts': '1'}},
...

0
投票

对我不起作用。您提供的步骤过程不起作用...我遇到了同样的问题。我认为 Nmap/python 模块要么仍未正确安装,要么是编译器......

© www.soinside.com 2019 - 2024. All rights reserved.