Использование nmap Печать
Добавил(а) microsin   

Утилита nmap широко используется для определения доступности портов и сервисов в сети.

Изначально работает на *nix, есть портированная версия под Windows, используется библиотека WinPCAP. Windows-версия не всегда корректно сканирует UDP-порты (по крайней мере, у меня так работало на w2k). Скачать версию для Windows можно здесь - http://nmap.org/download.html, см. Latest stable release self-installer: nmap-4.76-setup.exe.

Посмотреть, установлена или нет в системе nmap, где находятся файлы, относящиеся к nmap (Linux):
# locate nmap
Установка nmap из пакета rpm (Linux):
# rpm -i /tmp/nmap-4.11-1.el4.rf.i386.rpm
Вывод короткой справки по опциям:
# nmap
Вывод полной справки (Linux):
# man nmap
Просканить на открытые TCP-порты хост:
# nmap -sT a.b.100.77
# nmap video.corbina.tv

Просканить на открытые UDP-порты хост:
# nmap -sU a.b.100.77
Просканить на открытые TCP-порты хост в диапазоне портов 4000..4100:
# nmap -sT -p4000-4100 a.b.100.78
Просканить на открытые TCP-порты хост, не посылая проверочный ping. Если не указать -P0, то nmap перед сканированием будет пытаться проверить доступность хоста, посылая команду ping.
# nmap -sT -P0 a.c.7.18
Просканировать подсеть a.c.0.0/24 на доступные хосты, посылая для этого команду ping (никакого сканирования портов не происходит), это удобно для составления списка работающих хостов в сети:
# nmap -sP a.c.0.0/24
Просканировать подсеть a.d.241.0/24 на доступные хосты, посылая для этого команду ping, таймаут установить в 6 секунд:
# nmap -sP a.d.241.254/24 --host-timeout 6000
Просмотреть информацию об имеющихся интерфейсах в системе - полезно при сканировании с помощью определенного интерфейса (опция -e, см. следующий пример):
# nmap --iflist
Сканировать через определенный интерфейс (здесь указан виртуальный интерфейс ng0, созданный демоном mpd):
# nmap -e ng0 google.ru

Опция -e в последнем примере позволяет избавиться от ошибки "WARNING: Unable to find appropriate interface for system route to < тут_адрес_шлюза_по_умолчанию >, nexthost: failed to determine route to < тут_адрес_сканируемой_машины >". Такая ошибка у меня возникла в системе с виртуальным интерфейсом, который был поднят демоном mpd при Интернет через PPTP-VPN у Корбины. Опция -e имя_интерфейса позволила справиться с проблемой.

Еще совет - когда сканирование занимает много времени, можно нажать в консоли Enter, и nmap услужливо покажет, сколько процентов работы выполнено и сколько времени еще осталось ждать до окончания процесса сканирования.