Сканер nmap
Метки: nmap | nmap-options | TCP
Понедельник, 2 февраля 2009 г.
Просмотров: 2706
Nmap - самый популярный инструмент для сканирования и аудита сети. В прошлом сканирование портов было искусством: разрабатывались новые технологии, новые сканеры портов с разными дополнениями. Nmap вобрал в себя все лучшее с нескольких технологий сканирования и стал практичеки стандартом на сканеры портов. Очень часто можно встретить такое выражение "nmapping", которое появилось вместо "portscanning"(сканирование портов). Практически во всех Linux-дистрибутивах есть nmap. Последнюю версии можно скачать с сайта http://www.insecure.org
Рассмотрим опции и типы сканирования, которые есть в nmap. Nmap предлагает много методов сканирования - от стандартного TCP connect() до экзотического Xmas scan:
- TCP connect() (-sT): стержневой метод сканирования, устанавливающий полноценное соединение с целевым портом. Если соединение успешно установлено, то порт прослушивается. Этот метод сканирования легко отслеживается, поскольку все попытки установления соединения вносятся в журнал жертвы.
- TCP SYN (-sS): точно, самая популярная опция. Сканер посылает в порт SYN-пакет, чем создает полуоткрытое соединение. Сервер отвечает на данный пакет пакетом SYN-ACK, а сканер, получив ответ, отправляет серверу пакет RST (отказ от соединения). У данного метода есть ряд преимуществ: полуоткрытые соединения не протоколируются, поэтому, о сканировании никто и не узнает. Во-вторых, он работает намного быстрее TCP connect() - не нужно устанавливать соединение. Из недостатков можно выделить обязательное наличие прав root`a.
- Stealth Fin, Xmas Tree, Null scan (-sF, -sX, -sN): эти методы основаны на RFC793: закрытые порты обязаны отвечать на пакет FIN пакетом RST (открытые порты прямо отбрасывают незапрашиваемые FIN-пакеты). Windows-машины (и некоторые версии HP-UX, IRIX и BSD) не соблюдают это правило и постоянно отвечают пакетом RST на незапрашиваемый пакет FIN. Также этот метод можно использовать и для определения системы, которая работает на сканируемом компьютере.
- Ping Sweep (-sP): компьютер пингуется, чтобы определить, включен он или нет. Большинство администраторов закрывают ICMP из-за DoS-атак. Тогда nmap посылает ICMP-пакет на порт web-сервера жертвы. Если он получит в ответ пакет RST, значит, узел включен и подключен к сети.
- UDP-сканирование (-sU): nmap также умеет выполнять и UDP-сканирование. Идея в следующем: в порт отправляется UDP-дейтаграмма. Если порт закрыт, то в ответ посылается ICMP-сообщение «порт недоступен», в противоположном случае порт открыт.
- RPC-сканирование: используется вместе с другими типами скани¬рования. Позволяет определить, какой RPC-сервис запущен, и его версию.
- Сканирование версии (-sV): обычно используется для идентификации сервиса. Сканер сообщает номер версии сервиса, который прослушивает порт.
- -Р0: не пинговать удаленный узел. Как правило nmap пропускает узлы, которые не отвечают на пинги, потому-что думает, что они выключены. С помощью этой опции он будет считать, что узел включен и в сети.
- -I: обратное Ident-сканирование. Если на машине запущен демон Ident (113/tcp), то nmap узнает у него имя владельца всех открытых портов (сервисов, которые слушают эти порты). Для этого метода нужна опция -sT.
- -O: сканирование на определение операционной системы.
nmap -v -O example.com
nmap -v -sP 172.16.0.0/16 10.0.0.0/8