Getting error: AttributeError: module 'nmap' has no attribute 'PortScanner'
Getting error: AttributeError: module 'nmap' has no attribute 'PortScanner'
我一直在寻找如何解决这个 Python 问题的答案:
AttributeError: module 'nmap' has no attribute 'PortScanner'
我想了解有关端口扫描的更多信息,但我什至无法在我正在使用的 Visual Studio 代码上安装该模块。我已经尝试了我和许多人能想到的一切:
- 卸载并重新安装 python-nmap 以及 nmap(因为它们是互连的)。
- 我已经尝试重命名模块本身。
- 我已经在不同的 IDE 上启动了我的代码
- 我创建了一个单独的文件夹并将模块和我的项目放在那里。
到目前为止没有成功..
这是我的代码:
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'
接下来我可以尝试什么?
P.S。我正在使用 MacOS
我能够重现错误。问题出在 nmap
库上。 pip install nmap
安装 nmap python library
但 python-nmap
需要 nmap binary
,而且 nmap
python 库与 python-nmap
冲突,因为它们共享相同的模块名称。可以从 Nmap's official download page
安装正确的 nmap
请按照以下步骤操作:
步骤 1. 卸载库
pip uninstall nmap
pip uninstall python-nmap
步骤 2. 安装 python-nmap
pip install python-nmap
第 3 步。检查 nmap
是否已安装到您的系统中
which nmap
第三步,如果安装了继续下一步,如果没有:
转到 Nmap's official download page,为您的 OS 下载并安装 nmap。
请确保在安装过程中选择了 add to PATH
选项。
步骤 4. 重新启动系统(重新启动计算机)
在终端中使用 which nmap
命令检查 nmap
安装。
之后你可以检查 PortScanner
是否在 nmap
.
import nmap
dir(nmap)
Returns
['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')
Returns
{'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'}},
...
我一直在寻找如何解决这个 Python 问题的答案:
AttributeError: module 'nmap' has no attribute 'PortScanner'
我想了解有关端口扫描的更多信息,但我什至无法在我正在使用的 Visual Studio 代码上安装该模块。我已经尝试了我和许多人能想到的一切:
- 卸载并重新安装 python-nmap 以及 nmap(因为它们是互连的)。
- 我已经尝试重命名模块本身。
- 我已经在不同的 IDE 上启动了我的代码
- 我创建了一个单独的文件夹并将模块和我的项目放在那里。
到目前为止没有成功..
这是我的代码:
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'
接下来我可以尝试什么?
P.S。我正在使用 MacOS
我能够重现错误。问题出在 nmap
库上。 pip install nmap
安装 nmap python library
但 python-nmap
需要 nmap binary
,而且 nmap
python 库与 python-nmap
冲突,因为它们共享相同的模块名称。可以从 Nmap's official download page
nmap
请按照以下步骤操作:
步骤 1. 卸载库
pip uninstall nmap
pip uninstall python-nmap
步骤 2. 安装 python-nmap
pip install python-nmap
第 3 步。检查 nmap
是否已安装到您的系统中
which nmap
第三步,如果安装了继续下一步,如果没有:
转到 Nmap's official download page,为您的 OS 下载并安装 nmap。
请确保在安装过程中选择了 add to PATH
选项。
步骤 4. 重新启动系统(重新启动计算机)
在终端中使用 which nmap
命令检查 nmap
安装。
之后你可以检查 PortScanner
是否在 nmap
.
import nmap
dir(nmap)
Returns
['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')
Returns
{'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'}},
...