nmap PortScannerError, не могу найти nmap - PullRequest
0 голосов
/ 26 сентября 2018

Не уверен, что мне не хватает.Я пытаюсь импортировать модуль nmap и использовать nmap.PortScanner ().Я использую Linux.Когда я запускаю программу в терминале, я получаю:

File "/usr/local/lib/python2.7/dist-packages/nmap/nmap.py", line 137, in __init__
raise PortScannerError('nmap program was not found in path')
nmap.nmap.PortScannerError: 'nmap program was not found in path'

Когда я запускаю:

which nmap

Я получаю:

/usr/bin/nmap

Когда я выполняю

nmap --version

Я получаю:

Nmap version 7.60 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.3.3 openssl-1.1.0g nmap-libssh2-1.8.0 libz-1.2.8 libpcre-8.39 libpcap-1.8.1 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Извиняюсь за ответ на старый вопрос, но столкнулся с той же проблемой и решил ее, изменив файл nmap_search_path in nmap.py.

В nmap.py функция __init__ инициализирует модуль PortScanner иу него есть несколько путей поиска по умолчанию для определения nmap в системе и nmap версии.Может возникнуть исключение PortScannerError, если nmap не найден в пути.

Для версии python-nmap-0.6.1, которую я проверил, приведена строка кода в файле nmap.py ниже.

def __init__(self, nmap_search_path=('nmap', '/usr/bin/nmap', '/usr/local/bin/nmap', '/sw/bin/nmap', '/opt/local/bin/nmap')):

0 голосов
/ 22 ноября 2018

вам нужно отредактировать строку 137 в "/usr/local/lib/python2.7/dist-packages/nmap/nmap.py", а затем включить каталог nmap: "usr / bin / nmap".

эта ошибка из-за того, что "nmap.py" не может определить двоичный каталог nmap.

удачи

...