|
|
|
@ -0,0 +1,171 @@
|
|
|
|
|
# Nmap
|
|
|
|
|
|
|
|
|
|
## Сканирование Одного Хоста или IP Адреса
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap 192.168.1.1` | Сканировать Отдельный IP Адрес |
|
|
|
|
|
| `nmap server.shellhacks.com` | Сканировать сервер по Имени Хоста |
|
|
|
|
|
| `nmap -v server.shellhacks.com` <br>`nmap -vv server.shellhacks.com` | Увеличить Уровень Детализации результатов сканирования |
|
|
|
|
|
|
|
|
|
|
## Сканирование Множества IP Адресов
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap 192.168.1.1 192.168.1.2 192.168.1.3`<br>`nmap 192.168.1.1,2,3` | Сканировать Множество IP Адресов |
|
|
|
|
|
| `nmap 192.168.1.0/24`<br>`nmap 192.168.1.*` | Сканировать Подсеть |
|
|
|
|
|
| `nmap 192.168.1.0-200` | Сканировать Диапазон IP Адресов |
|
|
|
|
|
|
|
|
|
|
## Поиск Активных Компьютеров в Сети
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -sn 192.168.1.0/24` | Сканировать сеть в поиске Активных Хостов |
|
|
|
|
|
|
|
|
|
|
## Сканирование Списка Хостов из Файла
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -iL input.txt` | Сканирование списка хостов/сетей из Файла |
|
|
|
|
|
|
|
|
|
|
??? note "Формат файла"
|
|
|
|
|
Записи могут быть представлены в любом из форматов, с которыми работает Nmap из командной строки (IP адреса, имена хостов, CIDR, IPv6, или октетные диапазоны). Записи должны разделятся одним или более пробелами, табуляциями или переходами на новую строку.
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
cat input.txt
|
|
|
|
|
server.shellhacks.com
|
|
|
|
|
192.168.1.0/24
|
|
|
|
|
192.168.2.1,2,3
|
|
|
|
|
192.168.3.0-200
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Исключение IP/Хостов/Сетей из Сканирования
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap 192.168.1.0/24 --exclude 192.168.1.1`<br>`nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5`<br>`nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3` | Исключить Цели из сканирования Nmap-ом |
|
|
|
|
|
| `nmap 192.168.1.0/24 --excludefile exclude.txt` | Исключить Список хостов, взятых из файла |
|
|
|
|
|
|
|
|
|
|
!!! note
|
|
|
|
|
Формат файла с исключенными хостами аналогичен приведенному выше.
|
|
|
|
|
|
|
|
|
|
## Сканирование Определенных Портов
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -p 80 192.168.1.1` | Сканировать Один Порт |
|
|
|
|
|
| `nmap -p 80,443 192.168.1.1` | Сканировать Несколько Портов |
|
|
|
|
|
| `nmap -p 80-1000 192.168.1.1` | Сканировать Диапазон Портов |
|
|
|
|
|
| `nmap -p "*" 192.168.1.1` | Сканировать Все Порты |
|
|
|
|
|
| `nmap --top-ports 5 192.168.1.1`<br>`nmap --top-ports 10 192.168.1.1` | Сканировать несколько самых Распространенных Портов |
|
|
|
|
|
|
|
|
|
|
## Определение Поддерживаемых IP Протоколов
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -sO 192.168.1.1` | Определить какие IP Протоколы (TCP, UDP, ICMP, и т.д.) поддерживает сканируемый хост |
|
|
|
|
|
|
|
|
|
|
## Сканирование TCP/UDP Портов
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -sT 192.168.1.1` | Сканировать все TCP Порты |
|
|
|
|
|
| `nmap -p T:80 192.168.1.1` | Сканировать определенные TCP Порты |
|
|
|
|
|
| `nmap -sU 192.168.1.1` | Сканировать все UDP Порты |
|
|
|
|
|
| `nmap -p U:53 192.168.1.1` | Сканировать определенные UDP Порты |
|
|
|
|
|
| `nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1` | Объединение сканирования разных портов |
|
|
|
|
|
|
|
|
|
|
## Быстрое Сканирование
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -F 192.168.1.1` | Активировать Быстрый Режим сканирования |
|
|
|
|
|
|
|
|
|
|
!!! note
|
|
|
|
|
Сканирует меньшее кол-во портов, чем при обыкновенном сканировании.
|
|
|
|
|
|
|
|
|
|
## Показывать Причину Состояния Порта
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap –reason 192.168.1.1` | Показать Причину, по которой Nmap считает что порт находится в определенном состоянии |
|
|
|
|
|
|
|
|
|
|
## Показывать Только Открытые Порты
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap –open 192.168.1.1`| Показать Только Открытые Порты (либо возможно открытые) |
|
|
|
|
|
|
|
|
|
|
## Определение ОС
|
|
|
|
|
|
|
|
|
|
Одна из наиболее известных функциональных возможностей Nmap — это удаленное определение ОС на основе анализа работы стека TCP/IP.
|
|
|
|
|
|
|
|
|
|
Nmap посылает серию TCP и UDP пакетов на удаленный хост и изучает ответы.
|
|
|
|
|
|
|
|
|
|
После проведения множества тестов, Nmap сравнивает результаты со своей базой данных и, при нахождении соответствий, выводит информацию об ОС.
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -O 192.168.1.1` | Включить Определение ОС |
|
|
|
|
|
|
|
|
|
|
## Определение Версии Сервисов
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -sV 192.168.1.1` | Включить Определение Версии Сервисов |
|
|
|
|
|
|
|
|
|
|
> Определяет версии программ, запущенных на удаленном сервере.
|
|
|
|
|
|
|
|
|
|
## Обнаружение Фаервола
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -sA 192.168.1.1` | Узнать, защищен ли компьютер какими-либо Пакетными Фильтрами или Фаерволом |
|
|
|
|
|
|
|
|
|
|
## Подмена MAC Адреса
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap –spoof-mac 00:11:22:33:44:55 192.168.1.1` | Подменить MAC Адреса |
|
|
|
|
|
| `nmap –spoof-mac 0 192.168.1.1` | Подменить MAC Адрес Случайным MAC-ом |
|
|
|
|
|
|
|
|
|
|
## Сканирование Фаервола на Уязвимости
|
|
|
|
|
|
|
|
|
|
Эти три типа сканирования используют незаметную лазейку в TCP RFC, чтобы разделять порты на открытые и закрытые.
|
|
|
|
|
|
|
|
|
|
Когда сканируется система отвечающая требованиям RFC, любой пакет, не содержащий установленного бита SYN, RST или ACK, повлечет за собой отправку RST в ответ в случае, если порт закрыт, или не повлечет никакого ответа, если порт открыт.
|
|
|
|
|
|
|
|
|
|
Т.к. ни один из этих битов не установлен, то любая комбинация трех оставшихся (FIN, PSH и URG) будет являться правильной.
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
|`nmap -sN 192.168.1.1`| TCP Null сканирование - Не устанавливаются никакие биты (Флагов в TCP заголовке 0) |
|
|
|
|
|
| `nmap -sF 192.168.1.1` | TCP Fin сканирование - Устанавливается только TCP FIN бит |
|
|
|
|
|
| `nmap -sX 192.168.1.1` | TCP Xmas сканирование - Устанавливаются FIN, PSH и URG флаги (пакет светится как новогодняя елка) |
|
|
|
|
|
|
|
|
|
|
## Скрытое Сканирование
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -sS 192.168.0.1` | TCP SYN сканирование |
|
|
|
|
|
|
|
|
|
|
> Известное как сканированием с использованием полуоткрытых соединений, так как не отрывает полных TCP соединений.
|
|
|
|
|
|
|
|
|
|
## Отключение Обнаружения Хостов (No Ping)
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -Pn 192.168.1.1` | Не пинговать хосты перед сканированием |
|
|
|
|
|
|
|
|
|
|
## Отключение Использования DNS
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap -n 192.168.1.1` | Никогда не производить обратное преобразование DNS имен для каждого обнаруженного активного IP адреса |
|
|
|
|
|
|
|
|
|
|
## Сохранение Результатов Сканирования Nmap в Файл
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `nmap 192.168.1.1 > output.txt`<br>`nmap -oN output.txt 192.168.1.1` | Сохранить результат сканирования Nmap в Текстовый Файл |
|
|
|
|
|
| `nmap -oX output.xml 192.168.1.1` | Сохранить результат сканирования Nmap в XML Файл |
|