Популярный NMAP также может вызываться и выполняться из разных языков программирования, что делает его еще более мощным. Добавим ему Python - интерпретируемый язык программирования высокого уровня для программирования общего назначения. Python действительно удобный и чрезвычайно гибкий. Сам Python устанавливается по умолчанию в большинстве систем на основе Unix. Однако вам необходимо установить библиотеку NMAP отдельно. В системах на основе Debian вы можете просто использовать команду:
>pip install python-nmap
Теперь, когда вы установили требуемую библиотеку NMAP, запустите интерпретатор Python из терминала, введя команду python, и импортируйте библиотеку NMAP, как показано здесь:
kali@kali:~# python3
Python 3.9.7 (default, Sep 24 2021, 15:17:02)
[GCC 10.3.0] on linux
Type "help", "copyright", "credits" or "license" for more
information.
>>> import nmap
>>>
Теперь вы можете создать новый объект с именем nmp для вызова функции PortScanner. Затем запустите новое сканирование для целевого IP-адреса 127.0.0.1 и портов от 1 до 50, как показано ниже:
>nmp = nmap.PortScanner()
>nmp.scan('127.0.0.1', '1-50')
Сканирование завершается и дает следующий вывод:
{'nmap': {'scanstats': {'uphosts': '1', 'timestr': 'Fri Sep 20 13:12:09 2022', 'downhosts': '0', 'totalhosts': '1',
'elapsed': '1.06'}, 'scaninfo': {'tcp': {'services': '1-50', 'method': 'syn'}}, 'command_line': 'nmap -oX - -p 1-50 -sV 127.0.0.1'}, 'scan': {'127.0.0.1': {'status': {'state': 'up', 'reason': 'localhost-response'}, 'hostnames': [{'type': 'PTR', 'name': 'localhost'}], 'vendor': {}, 'addresses': {'ipv4': '127.0.0.1'}, 'tcp': {22: {'product': 'OpenSSH', 'state': 'open', 'version': '7.7p1 Debian 4', 'name': 'ssh', 'conf': '10', 'extrainfo': 'protocol 2.0', 'reason': 'syn-ack', 'cpe': 'cpe:/o:linux:linux_kernel'}}}}}
Хотя предыдущий вывод является необработанным, он, безусловно, может быть отформатирован с использованием многих функций Python. После того, как вы запустили начальное сканирование, вы можете исследовать различные функции python-nmap для получения определенных деталей сканирования.







