Понадобилось как-то просканировать хост на открытые порты. Соответственно, инструментом был выбран Nmap [1]. Однако не тут-то было.
Запуск сканера вылетал с ошибкой:
# nmap muff.kiev.ua Starting Nmap 6.47 ( http://nmap.org [2] ) at 2014-10-06 02:26 EEST |
Хм... Утилита не может "подружиться" с сетевым стеком, не находя маршрута к заданому хосту. Более детально вникнув в man nmap [3], попытался принудительно указать интерфейс, через который доступен конечный хост:
# nmap -e bge0 muff.kiev.ua Starting Nmap 6.47 ( http://nmap.org [2] ) at 2014-10-06 02:39 EEST |
Да что ж такое... Какие сетевый карты nmap вообще видит?
# nmap --iflist Starting Nmap 6.47 ( http://nmap.org [2] ) at 2014-10-06 02:33 EEST |
Nmap вообще "не видит" сетевых интерфейсов!
После непродолжительного поиска информации в сети, обнаружил, в чем именно проблема. Из ядра я "выпилил" стек IPv6, что и привело к тому, что nmap "ослеп", хотя в опциях сборки поддержка IPv6 отключена:
# cat /var/db/ports/security_nmap/options
# This file is auto-generated by 'make config'. |
Однако, не смотря на опции сборки, nmap собрался с поддержкой IPv6:
# nmap --version Nmap version 6.47 ( http://nmap.org [2] ) |
Нужно что-то с этим делать...
Как вариант - пересобирать ядро с поддержкой IPv6.
Либо же запускать nmap с ключами "-sT -Pn". В этом случае сканер запускается и коректно работает:
# nmap -Pn -sT muff.kiev.ua Starting Nmap 6.47 ( http://nmap.org [2] ) at 2014-10-06 03:06 EEST Nmap done: 1 IP address (1 host up) scanned in 41.64 seconds |