Nmap сканировать порты: Nmap — руководство для начинающих / Хабр

Содержание

Примеры |

Здесь приведены несколько примеров использования Nmap, от самых простых до более изощренных. Некоторые
реально существующие IP адреса и доменные имена использованны для того, чтобы сделать примеры более конкретными.
На их место вы должны подставить адреса/имена из вашей собственной сети.. В то время как
сканирование портов некоторой сети не является незаконным, некоторым администраторам сетей может не понравиться
своевольное сканирование их сетей и они могут пожаловаться. Для начала постарайтесь получить разрешение.

В целях тестирования у вас есть разрешение сканировать scanme.nmap.org.
Вы можете использовать сканирование с помощью Nmap, но не тестировать эксплоиты или производить атаки отказа в
обслуживании. Для того чтобы не перегружать канал, пожалуйста, не производите более дюжины сканирований этого
хоста в день. В случае злоупотребления этим свободным для сканирования хостом, он будет отключен и Nmap выдаст
Failed to resolve given hostname/IP:
scanme. nmap.org
(не могу разрешить данное имя/IP: scanme.nmap.org). Все выше сказанное также
относится и к хостам scanme2.nmap.org,
scanme3.nmap.org, и так далее, несмотря на то, что эти хосты еще не
существуют.

nmap -v scanme.nmap.org

Этой командой будут просканированы все TCP порты машины
scanme.nmap.org . Опция -v
активирует вербальный режим.

nmap -sS -O scanme.nmap.org/24

Этой командой будет произведено скрытное SYN сканирование всех 255 машин сети «класса C», в
которой расположена машина Scanme. Также будет произведена попытка определения операционной системы на каждом
работающем хосте. Из-за SYN сканирования и опции определения ОС данная команда требует привилегий
суперпользователя (root).

nmap -sV -p 22,53,110,143,4564
198.116.0-255.1-127

Запускает перебор хостов и TCP сканирование первой половины всех (из доступных 255) 8 битных подсетей
адресного пространства 198. 116 класса B. Также проверяет запущены ли SSH, DNS, POP3 или IMAP с использованием их
стандартных портов, а также использует ли какое-нибудь приложение порт 4564. Если какой-нибудь из этих портов
открыт, то будет произведена попытка определения работающего с этим портом приложения.

nmap -v -iR 100000 -PN -p 80

Указывает Nmap выбрать случайным образом 100,000 хостов и просканировать их на наличие запущенных на них
веб-серверов (порт 80). Перебор хостов отключен опцией -PN, т.к. посылка пары предварительных
запросов с целью определения доступности хоста является нецелесообразной, когда вас интересует всего один порт на
каждом хосте.

nmap -PN -p80 -oX logs/pb-port80scan.xml -oG
logs/pb-port80scan.gnmap 216.163.128.20/20

Этой командой будут просканированы 4096 IP адресов (без предварительного пингования), а выходные данные
будут сохранены в фомате XML и формате, удобном для просмотра утилитой grep (grepable формат).

Nmap — руководство для начинающих / Хабр

Многие слышали и пользовались замечательной утилитой nmap. Ее любят и системные администраторы, и взломщики. Даже Голливуд знает про нее — в фильме «Матрица» при взломе используется nmap.

nmap — это аббревиатура от «Network Mapper», на русский язык наиболее корректно можно перевести как «сетевой картограф». Возможно, это не лучший вариант перевода на русский язык, но он довольно точно отображает суть — инструмент для исследования сети и проверки безопасности. Утилита кроссплатформенна, бесплатна, поддерживаются операционных системы Linux, Windows, FreeBSD, OpenBSD, Solaris, Mac OS X.

Рассмотрим использование утилиты в Debian. В стандартной поставке дистрибутива nmap отсутствует, установим его командой

# aptitude install nmap

Nmap умеет сканировать различными методами — например, UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, SYN и NULL-сканирование. Выбор варианта сканирования зависит от указанных ключей, вызов nmap выглядит следующим образом:

nmap <ключи> цель

Для опытов возьмем специальный хост для экспериментов, созданный самими разработчиками nmap — scanme.nmap.org. Выполним от root’а

Ключи сканирования задавать необязательно — в этом случае nmap проверит хост на наличие открытых портов и служб, которые слушают эти порты.

Запустим командой:

# nmap scanme.nmap.org

Через несколько секунд получим результат:
Interesting ports on scanme.nmap.org (74.207.244.221):

Not shown: 998 closed ports

PORT STATE SERVICE

22/tcp open ssh

80/tcp open http


Ничего необычного, ssh на стандартном порту и http на 80. Nmap распознаёт следующие состояния портов: open, filtered, closed, или unfiltered. Open означает, что приложение на целевой машине готово для принятия пакетов на этот порт. Filtered означает, что брандмауэр, фильтр, или что-то другое в сети блокирует порт, так что Nmap не может определить, является ли порт открытым или закрытым. Closed — не связанны в данный момент ни с каким приложением, но могут быть открыты в любой момент. Unfiltered порты отвечают на запросы Nmap, но нельзя определить, являются ли они открытыми или закрытыми.

# nmap -O scanme.nmap.org

Хинт: Если во время сканирования нажать пробел — можно увидеть текущий прогресс сканирования и на сколько процентов он выполнен. Через несколько секунд получаем ответ, в котором пока что интересна строчка Device type:

Device type: general purpose|WAP|webcam|storage-misc

Running (JUST GUESSING) : Linux 2.6.X|2.4.X (93%), AXIS Linux 2.6.X (89%), Linksys Linux 2.4.X (89%)

Aggressive OS guesses: Linux 2.6.17 - 2.6.28 (93%), Linux 2.6.9 - 2.6.27 (93%), Linux 2.6.24 (Fedora 8) (92%), Linux 2.6.18 (Slackware 11.0) (92%), Linux 2.6.19 - 2.6.26 (92%), OpenWrt (Linux 2. 4.32) (91%), Linux 2.6.22 (91%), Linux 2.6.22 (Fedora Core 6) (90%), Linux 2.6.13 - 2.6.27 (90%), Linux 2.6.9 - 2.6.18 (90%)

No exact OS matches for host (test conditions non-ideal).

Вообще, точную версию ядра средствами nmap определить невозможно, но примерную дату «свежести» и саму операционную систему определить можно. Можно просканировать сразу несколько хостов, для этого надо их перечислить через пробел:

# nmap -O example.com example2.com

Вернемся к нашему подопытному хосту. Хочется узнать поподробнее, какой используется софт. Попробуем уточнить полученные данные с помощью ключей -sV:

# nmap -sV example.com example2.com

Получим ответ:

PORT STATE SERVICE VERSION

22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)

80/tcp open http Apache httpd 2.2.14 ((Ubuntu))

Service Info: OS: Linux

Прогресс налицо — мы узнали точные названия используемых служб и даже их версии, а заодно узнали точно, какая операционная система стоит на сервере. С расшифровкой никаких проблем не возникает, все вполне понятно.

Агрессивное сканирование можно провести, указав ключ -A

# nmap -A scanme.nmap.org

Nmap выведет очень много информации, я не стану приводить пример. Сканирование может длится довольно долго, занимая несколько минут.

В локальных сетях или просто имея на руках диапазон ip адресов, удобно проверить их на занятость с помощью ключей -sP:

# nmap -sP 192.168.1.0/24

Сканирование проходит довольно быстро, так как по сути это обычный ping-тест, отвечает ли хост на ping. Следует учесть, что хост может не отвечать на ping из-за настроек фаерволла. Если нужный участок сети нельзя ограничить маской, можно указать диапазон адресов, с какого и по какой надо провести сканирование. Например, есть диапазон адресов с 192.168.1.2 до 192.168.1.5. Тогда выполним:

# nmap -sP 192.168.1.2-5

Ответ будет выглядеть так:

Host 192.168.1.2 is up (0.0023s latency)

Host 192. 168.1.3 is up (0.0015s latency)

Host 192.168.1.4 is up (0.0018s latency)

Host 192.168.1.5 is up (0.0026s latency)

В моем случае все ip в данный момент были в сети.

Это далеко не все возможности nmap, но уместить их в рамках одной статьи несколько сложновато.

Если вам ближе GUI — есть замечательная утилита Zenmap — графическая оболочка для nmap, умеющая заодно и строить предполагаемую карту сети.

Хочу предупредить, что сканирование портов на удаленных машинах может нарушать закон.
UDPInflame уточнил, что сканирование портов все-таки не является противозаконным.

Проверка открытых портов с помощью Nmap

Небольшой практический совет. Время от времени рекомендую сканировать свои внешние ip адреса какими-нибудь сканерами портов, например, nmap. Можно это делать на регулярной основе с помощью скриптов и отправлять отчет себе на почту. Если не делать таких проверок, то рано или поздно что-то забудете заблокировать.

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Курс стоящий, все подробности читайте по ссылке. Есть бесплатные курсы.

Пример, как это бывает обычно у меня. Поднимается временно какой-то сервис для теста в отдельной виртуальной машине. Для простоты к нему просто пробрасывается определенный порт. После теста виртуальная машина удаляется, а проброс порта остается. Через некоторое время на этот же ip адрес может приехать что-то другое. Например, у меня приехал новый сервер и на этот ip был посажен idrac. Каково же было мое удивление, когда я, сканируя внешний ip, увидел доступ к консоли управления сервером. Сначала перепугался, думал кто-то что-то сломал. Полез разбираться, оказалось, что старый проброс 443 порта остался на этом внешнем ip.

Вот еще один пример. Стоял тестовый гипервизор HyperV, подключенный в том числе к WAN порту. Подключили на всякий случай, вдруг пригодится. В момент установки и настройки внешний ip ему никто не настраивал, так как он был не нужен. Может интерфейс отключили или что-то еще сделали. Не суть важно. В какой-то момент конфигурировали виртуальные свитчи, в том числе на этом интерфейсе. Он стал активен и автоматом получил настройки внешнего ip по dhcp. Заметил случайно. Сколько HyperV провисел всеми своими портами, в том числе и rdp в интернете — не известно.

Самый простой пример, как можно автоматизировать сканирование внешних ip адресов. Поставьте nmap на какой-то внешний по отношению к тестируемым серверам сервер. И с него по крону раз в неделю запускайте проверку с отправкой результата вам на почту:

nmap -T4 -A -v 111.222.333.444 | mail -s "Nmap Scan 111.222.333.444" [email protected]

Если почта через консоль не отправляется, почитайте у меня, как это исправить — отправка почты через консоль linux.

Получите подробный отчет по всем типовым портам, которые открыты на вашем ip адресе.

Ниже в отчете будет информация о работающих сервисах. Имеет смысл просматривать и их.

Если у вас небольшая инфраструктура, достаточно раз в неделю просматривать отчеты, чтобы убедиться, что все в порядке. Иначе надо как-то автоматизировать эти проверки. В принципе, ничего сложного нет. Можно с помощью того же Zabbix следить за разрешенным списком открытых портов. Но я не прорабатывал этот вопрос, так как нет надобности. Думаю, что по этой теме уже есть готовые наработки.

Онлайн курс «DevOps практики и инструменты»

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.

Проверьте себя на вступительном тесте и смотрите программу детальнее по .

20 Потрясающих Примеров Команды Nmap

Ниже вы найдете 20 базовых примеров использования команды Nmap.

Вы узнаете, как использовать Nmap из командной строки в Linux для поиска активных хостов в сети и сканирования открытых портов.

Вы увидите, как удаленно определить операционную систему с помощью отпечатков стека TCP/IP и как узнать версию программного обеспечения запущенного на удаленном сервере.

Я так-же покажу как с помощью Nmap осуществить скрытое сканирование, как определить фаервол и как подменить MAC адрес.

Дельный Совет: Хотите сохранить анонимность? Узнайте как использовать ПРОКСИ из командной строки в Linux. Читать далее →

1. Сканирование Одного Хоста или IP Адреса

Сканировать Отдельный IP Адрес:

$ nmap 192. 168.1.1

Сканировать сервер по Имени Хоста:

$ nmap server.shellhacks.com

Увеличить Уровень Детализации результатов сканирования:

$ nmap -v server.shellhacks.com
$ nmap -vv server.shellhacks.com

2. Сканирование Множества IP Адресов

Сканировать Множество IP Адресов:

$ nmap 192.168.1.1 192.168.1.2 192.168.1.3
$ namp 192.168.1.1,2,3

Сканировать Подсеть:

$ nmap 192.168.1.0/24
$ nmap 192.168.1.*

Сканировать Диапазон IP Адресов (192.168.1.0 — 192.168.1.200):

$ nmap 192.168.1.0-200

3. Поиск Активных Компьютеров в Сети

Дельный Совет: Сканируйте сеть с помощью одной лишь команды ping! Вычислите все активные компьютеры! Читать далее →

Сканировать сеть в поиске Активных Хостов:

$ nmap -sn 192.168.1.0/24

4. Сканирование Списка Хостов из Файла

Сканирование списка хостов/сетей из Файла:

$ nmap -iL input. txt

Формат файла:


# Записи могут быть представлены в любом из форматов, с которыми работает
# 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

5. Исключение IP/Хостов/Сетей из Сканирования

Исключить Цели из сканирования Nmap-ом:

$ nmap 192.168.1.0/24 --exclude 192.168.1.1
$ nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5
$ nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3

Исключить Список хостов, взятых из файла:

$ nmap 192.168.1.0/24 --excludefile exclude.txt

Формат файла с исключенными хостами аналогичен приведенному выше.

6. Сканирование Определенных Портов

Сканировать Один Порт:

$ 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
$ nmap --top-ports 10 192.168.1.1

7. Определение Поддерживаемых IP Протоколов

Определить какие IP Протоколы (TCP, UDP, ICMP, и т.д.) поддерживает сканируемый хост:

$ nmap -sO 192.168.1.1

8. Сканирование TCP/UDP Портов

Сканировать все TCP Порты:

$ nmap -sT 192.168.1.1

Сканировать определенные TCP Порты:

$ nmap -p T:80 192.168.1.1

Сканировать все UDP Порты:

$ nmap -sU 192.168.1.1

Сканировать определенные UDP Порты:

$ nmap -p U:53 192. 168.1.1

Объединение сканирования разных портов:

$ nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1

9. Быстрое Сканирование

Активировать Быстрый Режим сканирования:

$ nmap -F 192.168.1.1

* Сканирует меньшее кол-во портов, чем при обыкновенном сканировании.

10. Показывать Причину Состояния Порта

Показать Причину, по которой Nmap считает что порт находится в определенном состоянии:

$ nmap --reason 192.168.1.1

11. Показывать Только Открытые Порты

Показать Только Открытые Порты (либо возможно открытые):

$ nmap --open 192.168.1.1

12. Определение ОС

Одна из наиболее известных функциональных возможностей Nmap — это удаленное определение ОС на основе анализа работы стека TCP/IP.

Nmap посылает серию TCP и UDP пакетов на удаленный хост и изучает ответы.

После проведения множества тестов, Nmap сравнивает результаты со своей базой данных и, при нахождении соответствий, выводит информацию об ОС.

Включить Определение ОС:

$ nmap -O 192.168.1.1

13. Определение Версии Сервисов

Включить Определение Версии Сервисов:

$ nmap -sV 192.168.1.1

* Определяет версии программ, запущенных на удаленном сервере.

14. Обнаружение Фаервола

Узнать, защищен ли компьютер какими-либо Пакетными Фильтрами или Фаерволом:

$ nmap -sA 192.168.1.1

15. Подмена MAC Адреса

Подменить MAC Адреса:

$ nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1

Подменить MAC Адрес Случайным MAC-ом:

$ nmap --spoof-mac 0 192.168.1.1

16. Сканирование Фаервола на Уязвимости

Эти три типа сканирования используют незаметную лазейку в TCP RFC, чтобы разделять порты на открытые и закрытые.

Когда сканируется система отвечающая требованиям RFC, любой пакет, не содержащий установленного бита SYN, RST или ACK, повлечет за собой отправку RST в ответ в случае, если порт закрыт, или не повлечет никакого ответа, если порт открыт.

Т.к. ни один из этих битов не установлен, то любая комбинация трех оставшихся (FIN, PSH и URG) будет являться правильной.

TCP Null сканирование:

$ nmap -sN 192.168.1.1

* Не устанавливаются никакие биты (Флагов в TCP заголовоке 0).

TCP Fin сканирование:

$ nmap -sF 192.168.1.1

* Устанавливается только TCP FIN бит.

TCP Xmas сканирование:

$ nmap -sX 192.168.1.1

* Устанавливаются FIN, PSH и URG флаги (пакет светится как новогодняя елка).

17. Скрытое Сканирование

Дельный Совет: Сохраняйте анонимность во время сканирования портов! Используйте Nmap + Tor + ProxyChains! Безопасное и простое тестирование на проникновение! Читать далее →

TCP SYN сканирование:

$ nmap -sS 192.168.0.1

* Известное как сканированием с использованием полуоткрытых соединений, так как не отрывает полных TCP соединений.

18. Отключение Обнаружения Хостов (No Ping)

Не пинговать хосты перед сканированием:

$ nmap -Pn 192.168.1.1

19. Отключение Использования DNS

Дельный Совет: Необходимо усилить безопасность в Linux? Шифруйте DNS трафик для защиты от спуфинга! Читать далее →

Никогда не производить обратное преобразование DNS имен для каждого обнаруженного активного IP адреса:

$ nmap -n 192.168.1.1

20. Сохранение Результатов Сканирования Nmap в Файл

Сохранить результат сканирования Nmap в Текстовый Файл:

$ nmap 192.168.1.1 > output.txt
$ nmap -oN output.txt 192.168.1.1

Сохранить результат сканирования Nmap в XML Файл:

$ nmap -oX output.xml 192.168.1.1

nmap сканирование портов, как пользоваться утилитой

Основное предназначение nmap сканирование портов. Утилита позволяет снаружи определить какие службы запущены на сервере и какие порты используются.

nmap часто применяют специалисты по информационной безопасности. Чужие сервера сканировать таким образом нужно с осторожностью. Попытки сканирования могут быть расценены как вредоносная активность.

nmap позволяет сканировать порты на любой удаленной машине, указывается IP адрес. Также можно запускать сканирование сервера в локальной сети или собственного компьютера.

nmap 127.0.0.1

Starting Nmap 7.60 ( https://nmap.org ) at 2019-08-27 08:13 +05
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00022s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
25/tcp open smtp
80/tcp open http
631/tcp open ipp
5432/tcp open postgresql
8000/tcp open http-alt
9050/tcp open tor-socks

Nmap done: 1 IP address (1 host up) scanned in 0.31 seconds

Открытые порты и запущенные на них сервисы утилита покажет даже без использования дополнительных ключей.

Добавив -sn можно отключить сканирование и просто проверить в сети ли хост.

nmap -sn 127.0.0.1

Starting Nmap 7.60 ( https://nmap.org ) at 2019-08-27 08:17 +05
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00032s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.00 seconds

Максимально подробную информацию о портах и службах можно получить так (для TCP)

sudo nmap -sS -sV -sC -sV —version-all -O —osscan-guess -T4 —reason —open -p- -n -v 127.0.0.1

password for admin:

Starting Nmap 7.60 ( https://nmap.org ) at 2019-08-27 08:19 +05
NSE: Loaded 146 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 08:19
Completed NSE at 08:19, 0.00s elapsed
Initiating NSE at 08:19
Completed NSE at 08:19, 0.00s elapsed
Initiating SYN Stealth Scan at 08:19
Scanning 127. 0.0.1 [65535 ports]
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 25/tcp on 127.0.0.1
Completed SYN Stealth Scan at 08:19, 8.16s elapsed (65535 total ports)
Initiating Service scan at 08:19
Scanning 6 services on 127.0.0.1

Или

sudo nmap -sS -T2 —top-ports 1000 -Pn -v 127.0.0.1

-sS — TCP SYN, также может быть -sT для всех TCP сеодинений, -sU — UDP

Для UDP

sudo nmap -sU —top-ports 1000 -Pn -v 127.0.0.1

sudo nmap -sU —top-ports 100 -Pn -v 127.0.0.1

Во всех случаях можно указывать один IP адрес или диапазон адресов.

Среди самых полезных флагов -p. Он задает нужные порты, можно, например просканировать с 1 по 1000. -p 1-100.

Для nmap сканирование портов является основным преднозначением, также утилита может выполнять более агрессивные действия — в частности подбирать пароли FTP/SSH.

Этого для чужих серверов лучше не делать без договора на аудит безопасности с их владельцем.

На своем сервере попытки сканирования можно запретить при помощи iptables. В том числе ICMP трафик.

Nmap — открытые порты и сканирование портов

Nmap — это очень популярный сканер сети с открытым исходным кодом. Nmap — свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети (портов и соответствующих им служб).

Что такое анализ локальной сети

Комплекс мер по изучению параметров соединения между компьютерами в домашней или корпоративной сети называется анализом локальной сети (АЛС). Процесс включает в себя:

  • измерение скорости сети;
  • просмотр IP-адресов подключённых устройств;
  • анализ трафика сети — процесс, который позволяет выявить конфликтную машину или неисправность паутины в определённом узле.

Эта процедура может обнаружить вредоносное программное обеспечение и изолировать его распространение на всю сеть. Поэтому АЛС стоит проводить даже в профилактических целях.

Что такое сканер портов?

Сканер портов относится к программному приложению, которое сканирует сервер на наличие открытых портов. Он позволяет аудиторам и сетевым администраторам проверять сетевую безопасность, в то время как злоумышленники и хакеры используют ее для определения открытых портов для использования или запуска вредоносных служб на компьютере или сервере.

Сканирование портов представляет собой способ определения, какие порты в сети открыты. Поскольку порты на компьютере — это место, где информация отправляется и принимается, сканирование портов аналогично стуку в дверь, чтобы увидеть, находится ли кто-то дома. Выполнение сканирования портов в локальной сети или на сервере позволяет определить, какие порты открыты и находятся в режиме прослушивания (listening) (получения информации), а также выявить наличие таких устройств безопасности, как межсетевые экраны, которые находятся между отправителем и целью. Этот метод известен как дактилоскопия (fingerprinting). Это также полезно для тестирования сетевой безопасности и надежности брандмауэра системы. Благодаря этой функциональности, это также популярный инструмент разведки для злоумышленников, ищущих слабую точку доступа для проникновения в компьютер или сервер.

Порты различаются по своим назначениям. Они пронумерованы от 0 до 65535, но определенные диапазоны используются чаще. Порты с 0 по 1023 идентифицируются (https://ru.wikipedia.org/wiki/Список_портов_TCP_и_UDP), как «общеизвестные порты» или стандартные порты и были назначены для определенных служб, агентством по присвоению номеров в Интернете (IANA). Некоторые из наиболее известных портов и назначенных им служб включают в себя:

  • Порт 20 (UDP) — протокол передачи файлов (FTP) для передачи данных
  • Порт 22 (tcp) — протокол Secure Shell (SSH) для безопасного входа, FTP и переадресации портов
  • Порт 23 (tcp) — протокол Telnet для не зашифрованных текстовых коммутаций
  • Порт 53 (UDP) — Система доменных имен (DNS) переводит имена всех компьютеров в Интернете в IP-адреса
  • Порт 80 (tcp) — Всемирная паутина HTTP

Как провести сканирование скорости

Первый параметр, который стоит просмотреть на предмет ошибок, — это скорость передачи данных. Если при обмене пакетами информации в ЛС происходят сбои, замедления потери команд, то налицо нарушение протоколов или конфликт адресов. В таких случаях стоит начинать искать неполадку. Просмотреть информацию о скорости передачи данных можно через «Командную строку» или стороннее ПО.

С помощью «Командной строки»

Терминал «Командной строки» — уникальный инструмент для управления компьютером и вывода необходимой информации пользователю. Консоль также может помочь с АЛС, в частности вывести отчёт о скорости доступа в ЛС:

  1. Чтобы запустить «Командную строку», открываем меню «Пуск», переходим в папку «Служебные» и кликаем по иконке «Командная строка».
  2. В терминале прописываем первую команду ipconfig /all. Внимательно смотрим на выведенную информацию и находим строку «Основной шлюз», где будет указан сетевой адрес роутера. Это значение нам понадобится для дальнейших действий.

    Прописываем команду ipconfig /all и находим основной шлюз компьютера

  3. Запускаем команду Ping, указывая адрес шлюза (в данном случае команда имеет вид Ping 192.168.137.1), и ожидаем несколько секунд, пока произойдёт обмен пакетов с маршрутизатором. Результат будет опубликован почти мгновенно, сразу же после обработки данных.

    Через команду Ping основного шлюза узнаём скорость обмена данных с роутером

Если максимальное значение будет больше 1500 мсек даже в беспроводной сети, имеет смысл провести анализ трафика, а также проверить каждый компьютер на наличие вредоносного ПО антивирусными программами.

С помощью сторонних программ

Не только с помощью «Командной строки» можно узнать скорость внутри ЛС. Существуют дополнительные инструменты в виде сторонних программ. По интернету их гуляет огромное количество и большинство схожи между собой как по интерфейсу, так и по выводимым данным. Одной из таких утилит является LAN Speed Test. Утилита на должном уровне справляется с анализом скорости, имеет простой и понятный интерфейс.

  1. Скачиваем, устанавливаем и запускаем программу.
  2. На главной странице приложения нажимаем кнопку Start Test.

    В интерфейсе программы LAN Speed Test нажимаем кнопку Start Test

  3. В течение пары секунд получаем исчерпывающую информацию о возможностях передачи данных в ЛС.

    Данные о скорости в сети выводятся в виде таблицы

Также для анализа можно использовать другие утилиты, к примеру, Iperf или LAN Bench.

Первая весьма полезная для домашней и небольшой корпоративной сети. Приложение можно установить на все машины и следить за пингом. Оно весьма полезно, так как может производить мониторинг и вести записи продолжительное время.

Iperf — это программа для слежки за пингом и выявления небольших неполадок в ЛС

LAN Bench — это минималистическая утилита, похожая на LAN Speed Test. Ею очень легко мониторить скорость и пинг в сети, достаточно открыть интерфейс и нажать кнопку Test. Ниже сразу начнут появляться результаты.

LAN Bench — это простейшая утилита для оценки скорости ЛС

Как посмотреть список IP-адресов, подключённых к ЛС

Иногда возникает необходимость узнать информацию о подключённых к сети устройствах. В основном это касается беспроводных маршрутизаторов, к которым можно подключиться незаметно и «воровать» трафик. Посмотреть список устройств можно сторонними ПО и штатными средствами (веб-админкой маршрутизатора).

С первым всё довольно просто: существует простейшая утилита под названием Wireless Network Watcher. Она, как IP-сканер локальной сети, прекрасно справляется с анализом адресатов сети и выводит на экран всю доступную информацию о них.

Через программу Wireless Network Watcher можно увидеть список всех подключённых к сети устройств

Однако у программы есть два минуса:

  • для её работы необходимо проводное подключение к роутеру;
  • инструментарий программы ограничивается только выводом информации. Если нарушитель будет обнаружен, она ничего не сможет с ним сделать. То же касается и аналогичных программ. Заблокировать доступ к сети можно только внутри веб-админки роутера.

Для просмотра информации о подключённых устройствах через веб-админку маршрутизатора необходимо сначала её открыть:

  1. На тыльной стороне устройства знакомимся с реквизитами для входа.

    На тыльной стороне роутера знакомимся с реквизитами для входа

  2. Вводим данные в браузере и авторизуемся в сервисе управления.

    Через браузер открываем панель управления маршрутизатором

  3. В свойствах админки находим вкладку «Беспроводной режим», а в ней пункт «Статистика беспроводного режима».

    Находим пункт «Статистика беспроводного режима» и знакомимся со всеми подключёнными устройствами

  4. Проверяем IP-адресы всех известных устройств, остальные же можно «Запретить». Только не стоит забывать о подключённых телевизорах, телефонах и планшетах, они также имеют собственный индикатор в этой вкладке настроек.

Как сканировать LAN, узнать IP и MAC-адреса.

Порядок действий по сканированию адресов и получению другой информации:

  1. Первым делом рекомендуется первоначальная настройка установленного ПО, сделать это можно в соответствующем пункте меню.
  2. Во вкладке «Производительность» выбрать наиболее подходящую для себя (и своего ПК) скорость сканирования. Не рекомендуется выбирать максимальную скорость на офисных ПК или ноутбуках, в таком случае прога может работать нестабильно. При наличии редких и специфичных девайсов (различных сетевых касс, специфичного оборудования для бизнеса или откровенно китайских и никем не поддерживаемых девайсов) рекомендуется поставить галочку «Высокая точность сканирования». При использовании стандартных устройств её можно не ставить.
  3. Теперь можно переходить к непосредственному поиску гаджетов, указав необходимый диапазон IP-адресов (по умолчанию у большинства коммутаторов или роутеров используется диапазон от 192.168.0.1 до 192.168.0.254), и нажать кнопку «Сканировать». В некоторых случаях диапазон адресов может быть изначально изменён вручную, поэтому вводить нужно будет именно его (сканирование стандартных ip практически ничего не даст).
  4. В нашем случае было определено три устройства: ПК, на котором запущен сканер, беспроводной роутер и смартфон, подключенный по Wi-Fi. По каждому из гаджетов присутствует полная информация, такая как текущий ip-адрес (при желании его можно поменять), производитель техники и MAC адрес.

Методы сканирования портов

Сканирование портов отправляет тщательно подготовленный пакет на каждый номер порта назначения. Основные методы, которые может использовать программное обеспечение для сканирования портов:

  • Ваниль (Vanilla) — самый простой скан; попытка подключиться ко всем 65 536 портам по по очереди. Ванильное сканирование — это полное сканирование соединения, то есть оно отправляет флаг SYN (запрос на подключение) и после получения ответа SYN-ACK (подтверждение подключения) отправляет обратно флаг ACK. Этот обмен SYN, SYN-ACK, ACK включает квитирование TCP. Полное сканирование подключений является точным, но очень легко обнаруживается, поскольку все подключения всегда регистрируются брандмауэрами.
  • Сканирование SYN (SYN Scan) — также называется полуоткрытым сканированием, оно только отправляет SYN и ожидает ответа SYN-ACK от цели. Если ответ получен, сканер никогда не отвечает. Так как соединение TCP не было установлено, система не регистрирует взаимодействие, но отправитель узнал, открыт порт или нет.
  • Сканирование XMAS и FIN (XMAS and FIN Scans) — набор сканирований, используемых для сбора информации без регистрации в целевой системе. При сканировании FIN незапрошенный флаг FIN (обычно используемый для завершения установленного сеанса) будет отправлен на порт. Ответ системы на этот случайный флаг может показать состояние порта или брандмауэр. Например, закрытый порт, который получает незапрошенный пакет FIN, ответит пакетом RST (мгновенный прерывание), но открытый порт проигнорирует его. Сканирование XMAS просто отправляет набор всех флагов, создавая бессмысленное взаимодействие. Ответ системы может быть интерпретирован для лучшего понимания портов системы и брандмауэра.
  • Сканирование отказов FTP (FTP Bounce Scan) — позволяет замаскировать местоположение отправителя путем пересылки пакета через FTP-сервер. Это также предназначено для отправителя, чтобы остаться незамеченным.
  • Сканирование развертки (Sweep scan) — пингует один и тот же порт на нескольких компьютерах, чтобы определить, какие компьютеры в сети активны. Это не раскрывает информацию о состоянии порта, а сообщает отправителю, какие системы в сети активны. Таким образом, его можно использовать как предварительное сканирование.

Описание NMap

Nmap – бесплатная программа для защиты сетей. Она поддерживает работу с разными протоколами безопасности и сканирует любые порты. Утилита использует различные методы проверки. Это позволяет находить уязвимости сетей и устранять их.

Nmap – одна из лучших программ в своем роде. Она поддерживает работу с TCP, ICMP, UDP, FTP proxy, SYN и другими протоколами. В программе нет ограничений на проверку сетей по размерам или сложности. После проверки можно сравнить результаты анализа и задействовать фильтр хостов.

Работа осуществляется как через командную строку, так и через графическую оболочку с пользовательским интерфейсом. Поэтому использовать Nmap могут как новички, так и профессионалы. Софт совместим с версиями Windows от XP до 10.

Преимущества и недостатки

  • Обходит многие фаерволы
  • Позволяет проверять доступность серверов
  • Работа в анонимном режиме
  • Запрещена в некоторых странах

Как работает Nmap?

В компьютерных сетях все подключенные устройства имеют свой ip адрес. Каждый компьютер поддерживает протокол ping, с помощью которого можно определить подключен ли он к сети. Мы просто отправляем ping запрос компьютеру, и если он отзывается, то считаем, что он подключен. Nmap использует немного иной подход. Компьютеры также определенным образом реагируют на те или иные сетевые пакеты, утилита просто отправляет нужные пакеты и смотрит какие хосты прислали ответ.

Но об этом вы, наверное, уже знаете. Более интересно то как Nmap узнает какие сервисы запущены на машине. Суть работы всех сетевых программ основана на портах. Чтобы получить сообщение из сети, программа должна открыть порт на вашем компьютере и ждать входящих соединений. А для отправки сообщения по сети нужно подключиться к уже другой программой (адресатом) порту. Затем программе необходимо будет открыть порт, на котором она будет ждать ответа.

Утилита nmap в процессе сканирования сети перебирает доступный диапазон портов и пытается подключиться к каждому из них. Если подключение удалось, в большинстве случаев, передав несколько пакетов программа может даже узнать версию программного обеспечения, которые ожидает подключений к этому порту. Теперь, после того, как мы рассмотрели основы, рассмотрим как пользоваться nmap для сканирования портов и сети.

Сканирование сети с помощью nmap – немного теории

nmap – свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети.

nmap была написана с помощью C, C++, Python, Lua и предустановлена в Kali Linux, который мы с вами уже обозревали.

Изначально утилита была разработана для систем UNIX, сейчас же не составляет проблем установить её и на Windows.

nmap используется злоумышленниками для сканирования сетей WiFi, LAN и обнаружения открытых портов на подключенных устройствах для проведения различных атак.

Если на подключенном устройстве открыты порты, то оно считается уязвимым и легко поддаётся атакам с помощью различных X-sploits. Одним из самых распространнёных является Metasploit.

Metasploit Project – проект, посвящённый информационной безопасности. Создан для предоставления информации об уязвимостях, помощи в создании сигнатур для IDS, создания и тестирования эксплойтов.

Также вы можете прочитать о скрипте для Termux, с помощью него можно легко установить Network Mapper на ваш смартфон.

Зачем нужна команда nmap?

Основная задача команды nmap – сканирование сетевых портов указанных компьютеров для определения, какие из них используются (прослушиваются) программами-серверами. Для подавляющего числа сетевых демонов (служб) определены их стандартные порты по-умолчаню, которые они используют для своей работы. По этому признаку можно делать выводы, о том какие серверные программы запущены на том или ином компьютере в сети.

Также команда nmap – это самый доступный инструмент в руках злоумышленников для организации подготовки хакерской атаки на сеть. Ведь с помощью этой команды очень легко получить информацию, на основе которой можно судить о слабых и уязвимых местах в атакуемой системе.

Возможности nmap и примеры сканирования

Синтаксис Network Mapper

nmap [Тип сканирования] [Параметры] {Целевая спецификация}

В качестве целевой спецификации может быть имя хоста, IP-адрес, сеть и т.п.

Список параметров можно получить написав в терминале команду nmap.

Как вы знаете, роутеры сами раздают IP-адреса в диапазоне 192.168.0(1).0 – 192.168.0(1).255, это функция DHCP.

Для сканирования всего радиуса нам необходимо написать команду:

nmap -sL 192.168.1.1/24

-sL – параметр, запускает сканирование списка

24 в IP-адресе – это 24-битная подсетка, которая имеет нужный нам радиус в 256 символов. То есть сканирование пройдёт от 10.0.0.0 – 10.0.0.255.

Для сканирования подключенных устройств мы использует параметр -sn, в таком случае -sL нам не требуется.

nmap -sn 192.168.1.1/24

Как вы можете увидеть, в моей сети из было просканировано 256 хостов и 3 из них используются. Важно, что 192.168.0.1 – это роутер. Далее идёт мой телефон и ПК.

Теперь давайте просканируем устройства на наличие открытых портов следующей командой:

nmap -Pn {цель}

Мой компьютер не имеет открытых портов, что хорошо для меня и плохо для злоумышленника, так как он не сможет провести атаку.

Однако просканировав роутер, мы видим, что 2 порта открыто, 80 и 1900.

Также можно просканировать и все 256 хостов, однако это займет намного больше времени.

Узнаем версию ОС нашего ПК и роутера. Сканирование на операционную систему требует root привелегий и наличия открытых портов. В случае если порты закрыты, конкретного результата не будет и об этом будет предупреждение. С роутером проблем не возникло и все вывелось корректно, также мы видим MAC-адрес роутера/

#1: Сканирование одного хоста или IP адреса (IPv4)

### Сканирование одного IP nmap 192.168.1.1 ## Сканирование хоста nmap randomsite.com ## Сканирование хоста с дополнительной информацией nmap -v randomsite.com

#2: Сканирование нескольких IP-адресов или подсети(IPv4)

nmap 192.168.1.1 192.168.1.2 192.168.1.3 nmap 192.168.1.1,2,3

Вы также можете сканировать диапазон IP-адресов:

nmap 192.168.1.1-20 nmap 192.168.1.*

Наконец, вы можете сканировать всю подсеть:

nmap 192.168.1.0/24

#3: Чтение списка хостов/сетей из файла (IPv4)

Опция -iL позволяет вам читать список целевых систем, используя текстовый файл. Это полезно для сканирования большого количества хостов / сетей. Создайте текстовый файл следующим образом:

cat > /tmp/test.txt

Заполните его:

randomsite.com 192.168.1.0/24 192.168.1.1/24 10.1.2.3 localhost

Запустите сканирование:

nmap -iL /tmp/test.txt

#4: Исключение хостов/сетей (IPv4)

При сканировании большого количества хостов/сетей вы можете исключить хосты из проверки:

nmap 192.168.1.0/24 —exclude 192.168.1.5 nmap 192.168.1.0/24 —exclude 192.168.1.5,192.168.1.254

Или исключить список с помощью файла /tmp/exclude.txt

nmap -iL /tmp/scanlist.txt —excludefile /tmp/exclude.txt

#5: Включить скрипт сканирования ОС и ее версии (IPv4)

nmap -A 192.168.1.254 nmap -v -A 192.168.1.1 nmap -A -iL /tmp/scanlist.txt

#6: Узнать, защищен ли хост брандмауэром

nmap -sA 192.168.1.254
nmap -sA randomsite.com

#7: Сканирование хоста, если он защищен брандмауэром

nmap -PN 192.168.1.1
nmap -PN randomsite.com

#8: Сканирование хоста/адреса IPv6

Опция -6 включает сканирование IPv6. Синтаксис:

nmap -6 IPv6-Address-Here
nmap -6 randomsite.com
nmap -6 2607:f0d0:1002:51::4
nmap -v A -6 2607:f0d0:1002:51::4

#9: Сканирование сети и поиск работающих устройств

nmap -sP 192.168.1.0/24

Пример вывода:

Host 192.168.1.1 is up (0.00035s latency).
MAC Address: BC:AE:C5:C3:16:93 (Unknown)
Host 192.168.1.2 is up (0.0038s latency).
MAC Address: 74:44:01:40:57:FB (Unknown)
Host 192.168.1.5 is up.
Host nas03 (192.168.1.12) is up (0.0091s latency).
MAC Address: 00:11:32:11:15:FC (Synology Incorporated)
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.80 second

#10: Быстрое сканирование

nmap -F 192.168.1.1

#11: Показать причину, по которой порт находится в определенном состоянии

nmap —reason 192.168.1.1
nmap —reason randomsite.com

#12: Показывать только открытые (или возможно открытые) порты

nmap —open 192.168.1.1
nmap —open randomsite.com

#13: Показать все отправленные и полученные пакеты

nmap —packet-trace 192.168.1.1
nmap —packet-trace randomsite.com

#14: Показать интерфейсы и маршруты хоста

nmap —iflist

Пример вывода:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 02:01 IST
************************INTERFACES************************
DEV (SHORT) IP/MASK TYPE UP MAC
lo (lo) 127.0.0.1/8 loopback up
eth0 (eth0) 192.168.1.5/24 ethernet up B8:AC:6F:65:31:E5
vmnet1 (vmnet1) 192.168.121.1/24 ethernet up 00:50:56:C0:00:01
vmnet8 (vmnet8) 192.168.179.1/24 ethernet up 00:50:56:C0:00:08
ppp0 (ppp0) 10.1.19.69/32 point2point up

**************************ROUTES**************************
DST/MASK DEV GATEWAY
10.0.31.178/32 ppp0
209.133.67.35/32 eth0 192.168.1.2
192.168.1.0/0 eth0
192.168.121.0/0 vmnet1
192.168.179.0/0 vmnet8
169.254.0.0/0 eth0
10.0.0.0/0 ppp0
0.0.0.0/0 eth0 192.168.1.2

#15: Сканирование определенных портов

nmap -p [port] hostName ## Сканирование 80 порта nmap -p 80 192.168.1.1 ## TCP сканирование 80 порта nmap -p T:80 192.168.1.1 ## UDP сканирование 80 порта nmap -p U:53 192.168.1.1 ## Сканирование двух портов nmap -p 80,443 192.168.1.1 ## Сканирование диапазона портов nmap -p 80-200 192.168.1.1 ## Комбинирование всех параметров nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1 nmap -p U:53,111,137,T:21-25,80,139,8080 randomsite.com nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 192.168.1.254 ## Сканирование всех портов с помощью * nmap -p «*» 192.168.1.1 ## Сканирование популярных портов, нужно указать количество nmap —top-ports 5 192.168.1.1 nmap —top-ports 10 192.168.1.1

Пример вывода:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:23 IST Interesting ports on 192.168.1.1: PORT STATE SERVICE 21/tcp closed ftp 22/tcp open ssh 23/tcp closed telnet 25/tcp closed smtp 80/tcp open http 110/tcp closed pop3 139/tcp closed netbios-ssn 443/tcp closed https 445/tcp closed microsoft-ds 3389/tcp closed ms-term-serv MAC Address: BC:AE:C5:C3:16:93 (Unknown) Nmap done: 1 IP address (1 host up) scanned in 0.51 seconds

#16: Самый быстрый способ проверить все ваши устройства на наличие открытых портов

nmap -T5 192.168.1.0/24

#17: Определение ОС

Вы можете идентифицировать приложения и ОС удаленного хоста, используя опцию -O:

nmap -O 192.168.1.1
nmap -O —osscan-guess 192.168.1.1
nmap -v -O —osscan-guess 192.168.1.1

Пример вывода:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:29 IST
NSE: Loaded 0 scripts for scanning.
Initiating ARP Ping Scan at 01:29
Scanning 192.168.1.1 [1 port]
Completed ARP Ping Scan at 01:29, 0.01s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 01:29
Completed Parallel DNS resolution of 1 host. at 01:29, 0.22s elapsed
Initiating SYN Stealth Scan at 01:29
Scanning 192.168.1.1 [1000 ports]
Discovered open port 80/tcp on 192.168.1.1
Discovered open port 22/tcp on 192.168.1.1
Completed SYN Stealth Scan at 01:29, 0.16s elapsed (1000 total ports)
Initiating OS detection (try #1) against 192.168.1.1
Retrying OS detection (try #2) against 192.168.1.1
Retrying OS detection (try #3) against 192.168.1.1
Retrying OS detection (try #4) against 192.168.1.1
Retrying OS detection (try #5) against 192.168.1.1
Host 192.168.1.1 is up (0.00049s latency).
Interesting ports on 192.168.1.1:
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: BC:AE:C5:C3:16:93 (Unknown)
Device type: WAP|general purpose|router|printer|broadband router
Running (JUST GUESSING) : Linksys Linux 2.4.X (95%), Linux 2.4.X|2.6.X (94%), MikroTik RouterOS 3.X (92%), Lexmark embedded (90%), Enterasys embedded (89%), D-Link Linux 2.4.X (89%), Netgear Linux 2.4.X (89%)
Aggressive OS guesses: OpenWrt White Russian 0.9 (Linux 2.4.30) (95%), OpenWrt 0.9 — 7.09 (Linux 2.4.30 — 2.4.34) (94%), OpenWrt Kamikaze 7.09 (Linux 2.6.22) (94%), Linux 2.4.21 — 2.4.31 (likely embedded) (92%), Linux 2.6.15 — 2.6.23 (embedded) (92%), Linux 2.6.15 — 2.6.24 (92%), MikroTik RouterOS 3.0beta5 (92%), MikroTik RouterOS 3.17 (92%), Linux 2.6.24 (91%), Linux 2.6.22 (90%)
No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=5.00%D=11/27%OT=22%CT=1%CU=30609%PV=Y%DS=1%G=Y%M=BCAEC5%TM=50B3CA
OS:4B%P=x86_64-unknown-linux-gnu)SEQ(SP=C8%GCD=1%ISR=CB%TI=Z%CI=Z%II=I%TS=7
OS:)OPS(O1=M2300ST11NW2%O2=M2300ST11NW2%O3=M2300NNT11NW2%O4=M2300ST11NW2%O5
OS:=M2300ST11NW2%O6=M2300ST11)WIN(W1=45E8%W2=45E8%W3=45E8%W4=45E8%W5=45E8%W
OS_6=45E8)ECN(R=Y%DF=Y%T=40%W=4600%O=M2300NNSNW2%CC=N%Q=)T1(R=Y%DF=Y%T=40%S
OS:=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%R
OS_D=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=
OS:0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=N)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID
OS:=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)
Uptime guess: 12.990 days (since Wed Nov 14 01:44:40 2012)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=200 (Good luck!)
IP ID Sequence Generation: All zeros
Read data files from: /usr/share/nmap
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 12.38 seconds
Raw packets sent: 1126 (53.832KB) | Rcvd: 1066 (46.100KB)

#18: Как определить версии служб?

nmap -sV 192.168.1.1

Пример вывода:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:34 IST Interesting ports on 192.168.1.1: Not shown: 998 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh Dropbear sshd 0.52 (protocol 2.0) 80/tcp open http? 1 service unrecognized despite returning data.

Синтаксис команды nmap и особенности её работы

Команда nmap довольно проста в использовании и каким-то сложным синтаксисом не отличается:

nmap [Тип сканирования…] [Опции] {цель сканирования}

Чего нельзя сказать о количестве, функциональности её ключей и неисчерпаемых возможностях их применения. Официальная документация, доступная на страницах man-руководства (команда man nmap), кроме того, что очень подробная (трудно встретить ещё подробнее), так ещё и имеет качественный перевод (локализации, в том числе и на русском языке) в большинстве Linux-дистрибутивов.

Не всегда утилита nmap предустановлена в системе, поэтому для её использования требуется установка соответствующего пакета, который обычно имеет имя nmap:

$ sudo apt-get install nmap

Или в Centos/Redhat

$  yum install nmap -y

Пример:

$ nmap -sT localhost

Столбец STATE показывает состояние порта: он может быть открыт (open), когда связан с использующими его службами (соединениями), закрыт (closed), когда порт не используется ни одним сервером. Также доступны состояния: unfiltered, когда nmap не смогла определить состояние порта. А также filtered – когда порт защищён (или заблокирован) брандмауэром.

Для задания хоста можно также использовать цифровую запись в виде IP-адреса. Отчёт из данного примера сформирован для самого обычного компьютера, для которого не была сконфигурирована какая-то защита. Как можно видеть, для прослушивания 80 и 443 портов для работы протоколов HTTP и HTTPS соответственно, запущен веб-сервер. Сервер баз данных (БД) MySQL также работает по стандартному порту.

Примеры команды nmap

Для поиска устройств, подключенных к сети, пользователю необходимо узнать маску локальной сети. Эта информация будет доступна после ввода команды:

$ ip addr show

В открывшемся окне, напротив слова «inet» запомните число, указанное, после слеша. Например, 24. Это число понадобится вам в дальнейшем. Теперь нужно задать команду для сканирования сети с указанием сохраненного числа и IP маршрутизатора:

$ nmap -sL 192.168.1.1/24

Если в операционной системе Linux стоит защита от сканирования портов, процесс не даст никаких результатов. В этом случае пользователю придется пойти на небольшую хитрость – использовать специальную опцию для обхода этой защиты. Как это будет выглядеть на практике:

$ nmap -sn 192.168.1.1/24

Теперь в открывшемся окне должны появиться результаты сканирования. Далее следует провести сканирование портов нужного узла без добавления каких-либо опций. Запуск утилиты:

# nmap 192.168.1.1

В открывшемся окне будут указаны все порты, используемые различными сервисами на ПК. Не забывайте о том, что каждый из этих портов может послужить уязвимым местом в системе. Если вас не устраивает сжатый вид найденной информации о подключенных портах, попробуйте заполучить развернутые данные. Это можно выполнить данным способом:

# nmap -sV 192.168.1.1

Для осуществления проверки конкретного порта понадобится команда в виде:

# nmap -sC 192.168.56.102 -p 21

В предыдущих примерах рассматривался скрипт по умолчанию, но на практике возможности пользователя гораздо обширнее. Для ознакомления с полным списком доступных скриптов необходимо воспользоваться специальной командой. Она выглядит так:

# find /usr/share/nmap/scripts/ -name ‘*.nse’ | grep ftp

Чтобы утилита функционировала в агрессивном режиме (при таком раскладе в окне будет указана развернутая информация о портах, вызванная всего лишь одной командой, что особенно удобно для неопытного владельца Linux), нужно добавить специальную опцию в стандартную команду. А именно:

# nmap -A 192.168.1.1

Использование nmap

При первом запуске Zenmap мы увидим основное окно. Что же неоходимо нам для того, чтобы начать анализ сети?

Первый шаг— нам нужно указать Цель (Target). Это то, что мы будем анализировать. Допустим, нам нужно просмотреть сеть вида 192.168.0.100. Мы можем просканировать ее целиком — для этого введем диапазон 192.168.0.* в поле Target. В этом случае будут проанализированы все доступные адреса локальной сети этого диапазона.

Второй шаг — это выбор Профиля сканирования. Поле Профиль (Profile) имеет выпадающий список, в котором находятся шаблоны (наборы предустановленных параметров Nmap) для анализа сети — от простого пингования до интенсивного сканирования. Хочу вас предупредить — последний вариант профиля может быть причиной выхода из строя оборудования в небольших сетях. Если у вас имеются роутеры или маршрутизаторы, то при сканировании они могут стать узким местом (в смысле — пропускной способности).

Когда вы выбираете профиль, то можете обратить внимание на происходящие изменения в строке Command. В зависимости от выбранного профиля меняются опции, с которыми запускается Zenmap. Точно такую же строку вы можете ввести в терминале. Другими словами, запуск Nmap с определенными параметрами в командной строке аналогичен запуску Zenmap с соотвествующим профилем.

И так, профиль выбран. Нажимаем кнопку Scan. Процесс сканирования начался. В левом окне будут отображаться обнаруженные IP-адреса (хосты), в правом — лог сканирования.

Внимание! Обязательно дождитесь окончания сканирования, прежде чем переключаться на другие вкладки! Иначе процесс может преждевременно прерваться или вообще завершиться крахом Zenmap. И вы не получите нужных результатов.

На правой панели находятся различные вкладки. Каждая из них служит своей определенной цели.

  • Nmap Output: Вкладка по умолчанию. Выводит все команды, выполняемые программой Nmap.
  • Ports Hosts: Показывает, какие порты на IP-адресах (хостах) открыты.
  • Topology: Представляет в графическом режиме (картинка) топологию сети.
  • Host details: Подробная информация о каждом отдельно выбранном хосте. Для того, чтобы выбрать нужный хост, достаточно просто щелкнуть на нем мыщью в левом окне программы.
  • Scans: Список всех сканирований, выполненных программой. Вы можете заново запустить любой из них, выбрав его из списка и щелкнув мыщью на кнопке Scan.

Установка nmap на Linux

По умолчанию nmap не установлен в операционною систему Линукс, поэтому его нужно установить.

Centos  8:

dnf install nmap

Для Дебиан / Убунту:
# apt update
# apt install nmap

Centos  7 / Redhat /Fedora

yum install nmap

Сканирование чужих узлов.

В примерах выше для сканирования были выбраны локальный маршрутизатор и одна из рабочих станций, потому что мы имели право на их сканирование. Однако, будет плохой идеей запуск множественного сканирования чужого узла, если вы их не контролируете или не имеете прав для сканирования. Для экспериментов Nmap имеет общедоступный тестовый сервер scanme.nmap.org который Вы можете использовать.
Многие администраторы не любят несанкционированного сканирования их серверов, так что лучшим вариантом будет ограничение сканирования узлов своей локальной сети или тех для которых у вас есть права на сканирование. Также в некоторых случаях вы можете нарушить договор с вашим провайдером, при использовании некоторых особо агрессивных методов сканирования Nmap, поэтому будьте осторожны.

Сканирование нескольких узлов.

Вы можете сканировать больше чем один узел за раз, используя nmap. Если вы производите сканирование по IP-адресу вы можете определить диапазон 10.0.0.1-6 или 10.0.0.0/24.Используя диапазон 10.0.0.1-6 будут сканироваться узлы от 10.0.0.1 до 10.0.0.6. Используя определение /24 будет сканироваться весь диапазон узлов от 10.0.0.0 до 10.0.0.255. Для примера, если нужно просканировать узлы от 10.0.0.1 до 10.0.0.42 и узнать какая ОС вероятно запущена используйте:
nmap –O 10.0.0.1-42
Если у вас есть некоторый список доменных имен вместо IP адресов, вы можете разделить их в командной строке, вот так:
nmap -O host1.target.com host2.target.com

Проверка открытых портов с помощью nmap

Если вы запустите nmap вообще без опций и укажите какой то узел, то он будет сканировать порты и покажет все найденные открытые порты и сервисы запущенные на них. Например запустите:
nmap target.hostname.com
после чего он должен выдать что то похожее на это:
Interesting ports on target.hostname.com (10.0.0.88):
Not shown: 1711 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 0.228 seconds

Nmap выдаст больше информации если использовать опцию -v (verbose).

Сканирование запущенных сервисов с помощью nmap

Если вы хотите узнать какой сервис возможно запущен попробуйте опцию –sV. Эта опция произведет более агрессивное сканирование и попытается выяснить какая версия сервисов запущена на данном узле, а также может помочь более точно определить какая ОС запущена. Для пример запустим nmap –sV на тестовый сервер и получим следующий ответ:
Starting Nmap 5.21 ( nmap.org ) at 2010-02-28 00:15 EST
Nmap scan report for test.host.net (XX.XXX.XXX.XX)
Host is up (0.090s latency).
Not shown: 965 closed ports, 33 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0)
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch)
Service Info: OS: Linux
Service detection performed. Please report any incorrect results at nmap.org/submit .
Nmap done: 1 IP address (1 host up) scanned in 11.43 seconds

Как вы видите, Nmap может проанализировать пакеты и определить версию запущенного приложений на SSH и HTTP портах. Здесь вы можете увидеть что опрашиваемая система это Ubuntu с Apache 2.2.8 и OpenSSH 4.7p1. Эта информация может быть полезна по ряду причин. Nmap сканирование может идентифицировать систему под управлением устаревших сервисов которые могут быть уязвимы для известных эксплойтов.

Профили сканирования

Для анализа сети в Zenmap вы можете использовать как профили по умолчанию (предустановленные), так и создавать свои собственные. Для того, чтобы создать свой профиль, щелкните на Profile, затем выберите Новыйпрофиль (NewProfile) или Команда (Command) или Редактироватьсуществующийпрофиль (EditCurrentProfile). Если вы хотите внести небольшие изменения, достаточно выбрать необходимый профиль и затем отредактировать его. Например, на скриншоте показан измененный профиль, в который добавлена информация об операционной системе. Чтобы добавить эту информацию, выберите профиль, затем Profile > EditCurrentProfile. В новом окне открываем вкладку Scan и затем выбираем опцию «OS». Кнопка SaveChanges сохраняет изменения и закрывает окно редактирования.

Если вы изменили какой-либо профиль, вам нужно перезапустить сканирование, чтобы получить результат от введенных изменений.

Главные особенности и функции ZenMap

Мощность

У Zenmap отсутствуют ограничения в масштабах сканирования — от одного ПК до нескольких сотен тысяч машин, объединенных в одну большую сеть.

Простота использования

Работать в Zenmap может профессионал, используя самые сильные инструменты, и новичок. Причём пользователь может работать в обоих режимах — консоль или графический интерфейс. Сайт разработчика предлагает массу готовых пакетов для пользования в различных операционных системах специально для тех, кто не имеет желания или возможности собственноручно компилировать программу из исходных данных.

Свобода

Zenmap — бесплатная лицензированная программа, которая содержит в себе полный пакет всех исходников.

Поддержка разработчиков

Программа не даёт пользователям гарантию, однако сообщество разработчиков готово отвечать на любые вопросы пользователей. Наиболее часто используемые варианты сканирования могут быть сохранены в профили, чтобы обеспечить их лёгкий неоднократный запуск в дальнейшем. Мастер создания команд позволяет задавать команды в диалоговом режиме. Результаты сканирования сохраняются в базе данных. Это позволяет легко найти нужный результат, а также сравнивать результаты друг с другом. Благодаря активному сообществу разработчиков и хорошей документации Zenmap очень популярен. О высоком качестве этой программы говорят и многочисленные награды. Zenmap стал практически стандартом среди бесплатных программ для аудита сетей.

Установка и аудит сетей

Прежде чем скачать бесплатно «Зенмап», полезно знать — приложение поддерживает различные методы аудита сетей, включая в сканирование портов, определение наименования и точной версии операционной системы. Zenmap невероятно мощный. Ему «по зубам» компьютерная сеть любого размера, он быстро сканирует сеть даже в сто тысяч узлов. Любые преграды, будь то IP-фильтры, маршрутизаторы или что-то ещё, Zenmap с успехом преодолеет. Несмотря на то что он разрабатывался специально для больших сетей, при желании может точно так же применяться и на единичном сервере.

Установить Zenmap в большинство современных дистрибутивов достаточно просто, если используется готовый установочный пакет с запуском из репозиториев. Удобнее всего запускать из-под рут, потому что для полного пакета Nmap требуются привилегии Superuser.

Интерфейс пользователя

Для начала потребуется цель проверки. Предположим, что нужно отсканировать сеть с IP-адресами, используя маску 192.168.101.*:

  • данное клише вводится в поле Target;
  • затем в раскрывающемся списке «Профиль» нужно подобрать из предоставленных профиль, который лучше всего подойдёт для сканирования;
  • нужно иметь в виду, что сканирование с применением функции «Интенсивного анализа», возможно, навредит некоторым сетевым устройствам, таким как роутеры или свичи. С данными устройствами нужно обращаться крайне осторожно;
  • после подбора соответствующего профиля также поменяются данные поля Command, которое содержит nmap с установленными параметрами;
  • если есть необходимость, то содержимое команды всегда можно скорректировать под себя.

Когда место назначения установлено и профиль сканирования выбран, следует нажать «Сканировать» и заняться своими делами (а может и нет, все будет зависеть от объёма данной задачи nmap и быстроты сети). Как только сканирование завершится, список хостов, которые были найдены, отобразится на левой панели.

На правой панели можно заметить 5 вкладок:

  • nmap output — изначально открывается вкладка, которая отображает вывод текста nmap;
  • порты/хосты — в этой вкладке можно посмотреть открытые порты и на каких хостах они открыты;
  • topology — эта вкладка отображает топологию данной сети в форме графиков и диаграмм;
  • сведения о хосте — здесь отображается вся информация о данных сканирования хоста;
  • сканирование — эта вкладка содержит все ранее использованные команды скана, то есть историю.

Зайдя во вкладку Topology, можно отыскать самый занимательный пункт Zenmap. Тут находится топология рассматриваемой сети, которая изображается в формате кластера окружностей с названиями хостов или их сетевыми адресами. Если проверенная сеть довольно велика, разглядеть круги будет практически невозможно.

В таком случае нужно нажать кнопку «Управление», которая находится сверху, и использовать кнопки Zoom и Ring Gap, расположенные справа, чтобы настроить дисплей наилучшим способом. Также можно воспользоваться флажками в разделе «Вид», чтобы выбрать нужную информацию о хосте, отображаемую на карте.

Для комфортного использования новичками Nmap существует официальный графический интерфейс сканера безопасности – Zenmap. Новички зачастую сталкиваются с проблемой, когда невозможно пользоваться программой так же, как и опытным пользователям. Теперь неопытные пользователи без проблем могут использовать все расширенные возможности, которые доступны профессионалам.

Чаще всего результаты сканирования сохраняются в профиле пользователя, чтобы была возможность не единожды повторно их запускать. Чтобы создать команду для Nmap, необходимо перейти в диалоговый режим.

Также существует база данных, где хранятся результаты сканирований, которые можно неоднократно просматривать и при желании сравнивать.

Программа Nmap разработана и создана для быстрого и безопасного сканирования как одного ПК, так и целых компьютерных сетей. Nmap и Zenmap совместимы с большинством операционных сетей. Могут работать и в консольном режиме, и в режиме графического интерфейса.

Zenmap отличает наличие необходимой документации. Установка не представляет собой каких-либо сложностей. Официальный сайт Zenmap публикует установщики для всех распространённых операционных систем — Linux, Windows, FreeBSD.

Выводы и рекомендации по использованию nmap

В заключение хочется сказать, что утилита nmap нередко используется злоумышленниками и я не в коем случае не призываю к действию, данная статья написана в образовательных целях и автор не несет ответственности за ваши действия.

Network Mapper имеет также и графическую оболочку, об этом нужно упомянуть, однако я ей не пользовался и советую сразу работать с  терминалом.

Все открытые порты могут использоваться для проведения атак, следовательно стоит закрывать их по возможности на вашем устройстве, особенно в публичных местах и офисах.

[spoiler title=»Источники»]

  • https://itmaster.guru/nastrojka-interneta/analiz-lokalnoy-seti.html
  • http://pyatilistnik.org/port-scanner-on-the-local-network/
  • https://ip-scaner.ru/
  • https://www.softslot.com/software-2862-nmap.html
  • https://KtonaSoft.ru/nmap/
  • https://losst.ru/kak-polzovatsya-nmap-dlya-skanirovaniya-seti
  • https://www.make-info.com/nmap/
  • https://ITProffi.ru/skanirovanie-setevyh-portov-v-linux-komanda-nmap/
  • https://mordeniuss.ru/nmap-commands-examples/
  • https://www.vseprolinux.ru/nmap-skaner
  • http://rus-linux.net/nlib.php?name=/MyLDP/lvs/nmap/zenmap.html
  • https://habr.com/ru/post/88064/
  • https://ZenMap.ru/

[/spoiler]

Сканирование портов с Nmap

Методов сканирования много, однако всех их можно разделить на несколько категорий: определение хоста в сети, сканирование портов, обход/обнаружение фаервола, определение ОС. В этой статье мы рассмотрим техники сканирования портов.

 

TCP connect

Пожалуй самый распространенный и “шумный” способ сканирования. “Шумный” в том плане, что оставляет после себя следы. Принцип работы довольно прост — сканирующий комп просто инициирует TCP соединение со сканируемым объектом, если соединение удалось, значит порт открыт, если отклонено — закрыт, если нет ответа — возможно блокируется фаерволом:

Порт открыт

Вид в Wireshark

 

Порт закрыт

Вид в Wireshark

Вы возможно заметили, что после установления соединения сканер отправляет RST. Это связано с тем, что для завершения соединения необходимо пройти процедуру FIN-CLOSE, которая состоит из нескольких этапов. Это довольно затратное мероприятие в плане времени, поэтому сканер просто разрывает соединение отправкой RST.

TCP connect довольно медленный способ, кроме того системный администратор может легко определить сам факт сканирования, просто взглянув на логи фаервола:

Теперь вернемся в Nmap. Для запуска данного способа достаточно выполнить: 

nmap -sT 192.168.0.45 -p 22,80,445

 

Как мы видим Nmap помечает порты одним из 3-х состояний: open (открытый), closed (закрытый), filtered (фильтруется фаерволом). Существуют и другие состояния, но об этом позже. С open и closed все понятно, но что означает filtered?

Означает то, что на сканирующий пакет не было получено ответа (в случае с TCP connect)  возможно из-за фаервола. Так как техник сканирования много, то и состояния портов тоже могут меняться в зависимости от того ответил хост или нет, а также как ответил. Поэтому рекомендую использовать опцию —reason, которая подскажет на каком основании принято то или иное решение: 

nmap -sT —reason scanme.nmap.org -p22,80,139

TCP Syn (Stealth scan)

Данный тип сканирования является менее заметным по сравнению с предыдущим.

Принцип работы заключается в том, что сканирующий комп использует так называемое полусоединение, то есть, получив SYN-ACK от сканируемого устройства, сканер завершает свою работу. Выглядит это так:

Порт открыт

Вид в Wireshark

  

Порт закрыт

Вид в Wireshark

 

В конце успешного сканирования мы видим, что сканер посылает TCP RST. Если его не отправить, то сканируемый объект будет считать, что пакет SYN-ACK был потерян и будет снова посылать SYN-ACK, тем самым засоряя сеть ненужными пакетами и демаскируя само сканирование. Поэтому завершающий TCP RST крайне необходим.

 

Почему данный метод считается менее заметным?

Дело в том, что конечные системы записывают в свои логи сам факт установления соединения. Если попытка соединения была сорвана, то ничего не записывается. 

TCP Syn также является более быстрым методом по сравнению с TCP connect. Сканер сразу отправляет пакеты SYN, а затем ждет SYN-ACK. Ему уже не нужно в ответ на SYN-ACK посылать ACK. 

Для запуска данного метода выполним команду: 

nmap -sS —reason scanme.nmap.org -p 23,80,138

 

Следует отметить, что данную команду необходимо выполнять от имени суперпользователя (root). Кроме того, при запуске того или иного метода сканирования nmap посылает дополнительные пакеты, чтобы определить, что хост онлайн. В этом легко убедиться, включив опцию —packet-trace

nmap -sS —packet-trace —reason 192.168.1.2 -p 80

Вид в сканере

Вид в Wireshark

UDP сканирование

На первый взгляд техника сканирования выглядит довольно просто. Сканирующий хост посылает пустой UDP пакет (только UDP заголовок) и ждет ответной реакции от сканируемого объекта:

Порт открыт

Вид в Wireshark

Порт закрыт

Вид в Wireshark

 

Так выглядит в идеале. Однако в реальности все намного сложнее. UDP не имеет механизма установления соединения, а потому прикладной уровень сканируемого хоста может отбросить принятый пакет и никак не уведомить об этом сканирующую сторону. Поэтому приходится только догадываться открыт ли порт либо на пути стоит фаервол, которые блокирует входящие пакеты:

Пакет игнорируется системой

Пакет блокируется фаерволом

 

Однако иногда фаервол может отправить уведомление о блокировке пакетов.

 

В каких случаях хост с открытым UDP портом игнорирует сканирующие пакеты? 

Ответ прост. Nmap (да и любые другие сканеры) посылают “пустые” пакеты (только UDP заголовок), то есть не содержат полезной нагрузки или данные:

Принимающая сторона, увидев такой пакет примет его за ошибочный, то есть не соответствующим формату данных конкретного приложения. И поэтому просто его уничтожит. Однако так поступают не все приложения.

 

Почему же сразу не вставить данные в пакет, которые соответствовали бы формату конкретного приложения? 

Дело в том, что приложения, использующие протокол UDP не имеют единого стандартизированного формата данных. А содержать целую базу данных под каждый UDP порт задача довольно сложная, поэтому Nmap старается вставить данные в некоторые  пакеты с общеизвестными портами, например, 53 (DNS), 137 (NetBios) и так далее:

Для запуска UDP сканирования со вставкой полезной нагрузки используется команда: 

nmap -sUV —reason scanme.nmap.org

Null, Xmas, Fin сканирование

Этот экзотический метод сканирования основан на рекомендации RFC 793. Там сказано, если порт устройства закрыт и принят TCP пакет, в котором не установлен флаг RST, то данное устройство должно отправить пакет с установленным флагом RST. Проще говоря, если принят TCP RST пакет, то порт закрыт. Если никакого ответа не последовало, то порт открыт:

Порт закрыт

Вид в Wireshark

Однако не все так хорошо, как кажется. Не все системы придерживаются рекомендациям RFC, то есть могут просто не ответить на такой необычный сканирующий пакет либо всегда отвечают RST, ACK вне зависимости от состояния портов. К таким системам относится Windows. Ситуация также осложняется наличием фаерволов, так как в большинстве случаев они уничтожают подозрительные пакеты и никак об этом не сообщают. Поэтому в Nmap “неответившие” порты помечаются как opened | filtered. Данный метод рекомендуется использовать совместно с другими методами для улучшения результатов сканирования. 

Для запуска сканирования используйте следующие команды: 

nmap -sN 192.168.1.2 — Null сканирование 

nmap -sF 192.168.1.2 — Fin сканирование 

nmap -sX 192.168.1.2 — Xmas сканирование

 

 

Комментарии для сайта Cackle

Шпаргалка по Nmap и советы профессионалов

Nmap имеет множество опций, когда вы впервые начинаете играть с этим прекрасным инструментом, это может показаться немного сложным.

В этой шпаргалке вы найдете серию практических примеров команд для запуска Nmap и максимально эффективного использования этого мощного инструмента.

Имейте в виду, что эта шпаргалка касается всего лишь поверхности доступных опций. Портал документации Nmap — это ваш справочник для более глубокого изучения доступных опций.

Выбор цели Nmap

Сканирование одного IP нмп 192.168.1.1
Сканировать хост nmap www.testhostname.com
Сканировать диапазон IP нмп 192.168.1.1-20
Сканировать подсеть нмп 192.168.1.0/24
Сканировать объекты из текстового файла nmap -iL список-ips.txt

Это все сканирования по умолчанию, которые будут сканировать 1000 портов TCP.Обнаружение хоста будет иметь место.

Выбор порта Nmap

Сканирование одного порта нмп-п 22 192.168.1.1
Сканировать диапазон портов нмап -п 1-100 192.168.1.1
Сканировать 100 наиболее распространенных портов (быстро) нмп -F 192.168.1.1
Сканировать все 65535 портов нмп-п- 192.168.1.1

Типы сканирования портов Nmap

Сканирование с использованием TCP-соединения нмап -sT 192.168.1.1
Сканирование с использованием сканирования TCP SYN (по умолчанию) нмп -sS 192.168.1.1
Сканировать UDP-порты нмп -sU -p 123,161,162 192.168.1.1
Сканировать выбранные порты — игнорировать обнаружение нмп -Pn -F 192.168.1.1

Привилегированный доступ необходим для выполнения сканирования по умолчанию SYN . Если привилегий недостаточно, будет использоваться сканирование TCP-соединения. TCP-соединение требует, чтобы было установлено полное TCP-соединение, и поэтому сканирование выполняется медленнее.Часто требуется игнорировать обнаружение, поскольку многие брандмауэры или хосты не будут отвечать на PING , поэтому их можно пропустить, если вы не выберете параметр -Pn . Конечно, это может значительно увеличить время сканирования, так как вы можете в конечном итоге отправить зонды сканирования на хосты, которых нет.

Взгляните на Nmap Tutorial, чтобы подробно изучить процесс сканирования.

Обнаружение служб и ОС

Обнаружение ОС и служб нмп-А 192.168.1,1
Стандартное обнаружение службы нмап -sV 192.168.1.1
Более агрессивное обнаружение услуг нмп-сВ — интенсивность версии 5 192.168.1.1
Обнаружение захвата баннера зажигалкой нмп-сВ — интенсивность-версия 0 192.168.1.1

Обнаружение служб и ОС основано на различных методах определения операционной системы или службы, работающей на определенном порту. Более агрессивное обнаружение служб часто бывает полезным, если службы работают на необычных портах.С другой стороны, более легкая версия службы будет работать намного быстрее, поскольку на самом деле она не пытается обнаружить службу, просто захватывая баннер открытой службы.

Форматы вывода Nmap

Сохранить вывод по умолчанию в файл nmap -oN outputfile.txt 192.168.1.1
Сохранить результаты как XML nmap -oX outputfile.xml 192.168.1.1
Сохранить результаты в формате для grep nmap -oG выходной файл.txt 192.168.1.1
Сохранить во всех форматах nmap -oA выходной файл 192.168.1.1

Формат по умолчанию также можно сохранить в файл с помощью простой команды перенаправления файла > файл . Использование опции -oN позволяет сохранять результаты, но также их можно отслеживать в терминале во время сканирования.

Вывод Nmap в CSV

Nmap по умолчанию не имеет выходного формата csv . Используйте вывод XML для извлечения соответствующих полей в csv с python .

Перейдите к github и возьмите наш пример скрипта, который можно легко изменить в зависимости от ваших требований. Файлы csv легко преобразовать в xlsx для создания отчетов. Это можно сделать вручную или с помощью нашего скрипта преобразования python .

Копаем глубже с помощью сценариев NSE

Сканирование с использованием безопасных скриптов по умолчанию нмап -sV -sC 192.168.1.1
Справка по сценарию nmap —script-help = ssl-heartbleed
Сканирование с использованием специального сценария NSE nmap -sV -p 443 –script = ssl-heartbleed.nse 192.168.1.1
Сканирование с набором скриптов nmap -sV —script = smb * 192.168.1.1

Согласно моей установке Nmap в настоящее время существует 581 сценарий NSE . Скрипты могут выполнять широкий спектр функций тестирования и обнаружения, связанных с безопасностью. Если вы серьезно относитесь к сканированию сети, вам действительно стоит потратить время на то, чтобы ознакомиться с некоторыми из них.

Параметр --script-help = $ scriptname отобразит справку для отдельных сценариев.Чтобы получить простой список установленных сценариев, попробуйте locate nse | grep скрипт .

Вы заметите, что я использовал параметр обнаружения службы -sV . Как правило, большинство сценариев NSE будут более эффективными, и вы получите лучшее покрытие, включив обнаружение служб.

Сканирование для поиска служб UDP с отражением DDOS

Поиск отражателей UDP DDOS nmap –sU –A –PN –n –pU: 19,53,123,161 –script = ntp-monlist, dns-recursion, snmp-sysdescr 192.168.1.0 / 24

Атаки отражения DDOS на основе UDP — распространенная проблема, с которой сталкиваются защитники сети. Это удобная команда Nmap, которая просканирует список целей на предмет систем с открытыми службами UDP, которые позволяют совершать эти атаки. Полную информацию о команде и предыстории можно найти в блоге Sans Institute, где она была впервые опубликована.

Информация об услуге HTTP

Сбор заголовков страниц из HTTP-сервисов nmap —script = http-title 192.168.1.0 / 24
Получить HTTP-заголовки веб-служб nmap —script = http-заголовки 192.168.1.0/24
Найти веб-приложения по известным путям nmap —script = http-перечисление 192.168.1.0/24

Существует множество сценариев сбора информации HTTP, вот несколько простых, но полезных при исследовании больших сетей. Помогает быстро определить, какая HTTP-служба работает на открытом порте. Обратите внимание, что сценарий http-enum особенно шумный.Он похож на Nikto в том, что он пытается перечислить известные пути веб-приложений и скриптов. Это неизбежно приведет к появлению сотен 404 HTTP-ответов в журналах ошибок веб-сервера и доступа.

Обнаружение уязвимости SSL с Heartbleed

Тестирование кровотечения nmap -sV -p 443 —script = ssl-heartbleed 192.168.1.0/24

Обнаружение Heartbleed — один из доступных скриптов SSL. Он обнаружит наличие хорошо известной уязвимости Heartbleed в службах SSL.Укажите альтернативные порты для проверки SSL на почте и других протоколах (требуется Nmap 6.46) .

Информация об IP-адресе

Найти информацию об IP-адресе nmap —script = asn-query, whois, ip-geolocation-maxmind 192.168.1.0/24

Соберите информацию, относящуюся к IP-адресу и владельцу сетевого блока IP-адреса. Использует ASN, whois и геолокационные поисковые запросы. Смотрите IP Tools для получения дополнительной информации и аналогичных IP-адресов и поиска DNS.

Удаленное сканирование

Тестирование периметра сети с внешней точки зрения является ключевым моментом, когда вы хотите получить наиболее точные результаты. Оценивая свою уязвимость с точки зрения злоумышленников, вы можете проверить аудит правил брандмауэра и точно понять, что разрешено в вашей сети. По этой причине мы предлагаем размещенную или онлайн-версию сканера портов Nmap. Чтобы включить удаленное сканирование легко и эффективно, потому что любой, кто играл с shodan.io , очень хорошо знает, насколько плохо люди тестируют свои сети периметра.

Дополнительные ресурсы

Приведенные выше команды — это лишь часть возможностей Nmap. Ознакомьтесь с нашим руководством по Nmap, в котором есть дополнительная информация и советы.
Вы также можете просмотреть полный набор функций, запустив Nmap без параметров. У создателя Nmap, Федора, есть книга, в которой подробно рассматривается этот инструмент.

Знай свою сеть

Хостинг Nmap для сканирования внешних портов

Как использовать Nmap для сканирования открытых портов {обновлено 2021}

Введение

Nmap — это ведущий в мире сетевой сканер безопасности портов.Инструмент безопасности, размещенный на Nmap, может помочь вам определить, насколько хорошо работает ваш брандмауэр и конфигурация безопасности.

Это руководство покажет вам , как использовать Nmap для сканирования всех открытых портов в системах Linux.

Предварительные требования

  • Операционная система Linux
  • Доступ к учетной записи пользователя с привилегиями sudo или root
  • Доступ к командной строке / окну терминала
  • Менеджер пакетов apt, включенный по умолчанию (Debian / Ubuntu)
  • Менеджер пакетов yum , включено по умолчанию (Red Hat, CentOS)

Что такое порты?

В современных операционных системах порты — это нумерованные адреса для сетевого трафика.По умолчанию разные виды сервисов используют разные порты.

Например, обычный веб-трафик использует порт 80, в то время как электронная почта POP3 использует порт 110. Один из способов работы брандмауэра — это разрешение или ограничение трафика через определенный порт.

Поскольку конфигурация порта может создать угрозу безопасности, очень важно знать, какие порты открыты, а какие заблокированы.

Как сканировать порты Nmap

Чтобы просканировать порты Nmap в удаленной системе, введите в терминал следующее:

  судо nmap 192.168.0.1  

Замените IP-адрес IP-адресом тестируемой системы. Это основной формат для Nmap , и он возвращает информацию о портах в этой системе.

Помимо сканирования по IP-адресу, вы также можете использовать следующие команды для указания цели:

Для сканирования хоста:

  nmap www.hostname.com  

Для сканирования диапазона IP-адресов (.1 — .10):

  nmap 192.168.0.1-10  

Для запуска Nmap в подсети:

  нмп 192.168.0.1/13  

Для сканирования объектов из текстового файла:

  nmap –iL textlist.txt  

Примечание: Разработчики nmap.org предоставляют тестовый сервер, на котором вы можете экспериментировать, расположенный на scanme.nmap.org. Вы можете использовать это для тестирования вашей утилиты Nmap.

Сканирование одного порта, всех портов или серии

Команды Nmap могут использоваться для сканирования одного порта или серии портов:

Сканировать порт 80 в целевой системе:

  nmap –p 80 192.168.0.1  

Сканировать порты с 1 по 200 в целевой системе:

  nmap –p 1-200 192.168.0.1  

Сканировать (быстро) наиболее распространенные порты:

  нмп –F 192.168.0.1  

Для сканирования всех портов (1-65535):

  nmap –p– 192.168.0.1  
Другие типы сканирования портов Nmap

Могут выполняться различные типы сканирования:

Для сканирования с использованием TCP-соединения (требуется больше времени, но более вероятно подключение):

  nmap –sT 192.168.0.1  

Чтобы выполнить сканирование SYN по умолчанию (выполняется только половина квитирования TCP):

  nmap –sS 192.168.0.1  

Чтобы указать Nmap сканировать порты UDP вместо портов TCP (переключатель –p указывает порты 80, 130 и 255 в этом примере):

  nmap –sU –p 80,130,255 192.168.0.1  

Выполнить быстрое сканирование целевой системы, но не обнаруживать хост. (Обнаружение хоста использует ping , но многие серверные брандмауэры не отвечают на запросы ping .Эта опция вызывает тест, не дожидаясь ответа, который может не прийти):

  нмп –Pn –F 192.168.0.1  

Утилита nmap может использоваться для определения операционной системы конкретной цели:

  nmap –A 192.168.0.1  

Его также можно использовать для проверки служб, которые могут использовать разные порты:

  nmap –sV 192.168.0.1  

Примечание: Опцию –sV можно настроить на более или менее агрессивное сканирование.Используйте параметр ––version-depth 2 , чтобы указать уровень тестирования. Замените цифру 2 цифрой от 0 (световая проверка) до 9 (запустить все датчики). Чем интенсивнее тестирование, тем дольше будет сканирование.

Общие порты

Вот краткий список стандартных портов и их обозначений:

  • 21 — FTP
  • 22 — SSH
  • 25 — SMTP (отправка электронной почты)
  • 53 — DNS (служба доменных имен)
  • 80 — HTTP (веб-сервер)
  • 110 — POP3 (почтовый ящик)
  • 123 — NTP (сетевой протокол времени)
  • 143 — IMAP (почтовый ящик)
  • 443 — HTTPS (защищенный веб-сервер)
  • 465 — SMTPS (отправка защищенной электронной почты)
  • 631 — CUPS (сервер печати)
  • 993 — IMAPS (защищенный почтовый ящик)
  • 995 — POP3 (защищенный почтовый ящик)

Брандмауэр Linux может быть настроен на блокировку всего трафика на определенном порту.

Например, брандмауэр может быть настроен на блокировку порта 80, но в этом случае пользователи не смогут загружать какой-либо веб-сайт. Вы можете использовать правила брандмауэра, чтобы разрешить одни порты, но заблокировать другие. Используйте брандмауэр в сочетании с другими инструментами и программным обеспечением сетевой безопасности для сканирования трафика на определенном порту и отслеживания подозрительного трафика.

Рекомендации по сканированию Nmap

Вы должны использовать Nmap для сканирования портов только на тех серверах, которыми вы владеете или на которые у вас есть разрешение на сканирование.Часто сканирование портов рассматривается как агрессивный метод или прелюдия к кибератаке. Также считается плохой практикой связывать ресурсы сервера с помощью Nmap для повторного сканирования одной и той же цели.

Возможно, во время сканирования вы обнаружите необычную активность. Например, вы можете увидеть службу, работающую на необычном номере порта. Это означает, что происходит что-то странное и требует расследования.

Параметры сканирования ОС и службы полезны для сканирования определенного порта или службы для получения дополнительной информации.Если служба работает на порту, отличном от порта по умолчанию, это может быть сделано намеренно или может указывать на нарушение безопасности.

Порты часто используются по умолчанию. Большинство портов до 1000 выделены и назначены определенной службе.

Заключение

В этом руководстве представлен обзор сканирования Nmap и того, как его можно использовать для тестирования портов в Linux . Теперь вы должны понять, как работают порты и почему важно знать, как они используются.

Nmap добавляет универсальный инструмент в арсенал любого системного администратора для отладки и обнаружения недостатков безопасности.

Спецификация порта

и порядок сканирования

Этот параметр определяет, какие порты вы хотите сканировать и
отменяет значение по умолчанию. Индивидуальные номера портов в порядке, так как
— это диапазоны, разделенные дефисом (например, 1-1023 ). В
начальные и / или конечные значения диапазона могут быть опущены,
заставляя Nmap использовать 1 и 65535 соответственно. Так что вы можете
укажите -p- для сканирования портов с 1 по
65535. Сканирование
нулевой порт
разрешено, если вы укажете это
явно.Для сканирования протокола IP ( -sO ) эта опция
указывает номера протоколов, которые вы хотите сканировать
(0–255).

При сканировании комбинации протоколов (например, TCP и UDP) вы можете
укажите конкретный протокол, поставив перед номерами портов
T: для TCP, U: для UDP,
S: для SCTP или P: для IP-протокола.
Квалификатор действует до тех пор, пока вы не укажете другой
квалификатор.Например, аргумент -p
U: 53,111,137, T: 21-25,80,139,8080
будет сканировать UDP
порты 53, 111 и 137, а также перечисленные порты TCP. Примечание
что для сканирования UDP и TCP необходимо указать
-sU и хотя бы один тип сканирования TCP (например,
-sS , -sF или
-СТ ). Если квалификатор протокола не указан,
номера портов добавляются во все списки протоколов.

Порты также могут быть указаны по имени в соответствии с тем, что
порт упоминается в nmap-services .Ты
можно даже использовать подстановочные знаки * и
? с именами. Например, для сканирования
FTP и все порты, имена которых начинаются с «http», используйте -p ftp, http * .
Будьте осторожны с расширениями оболочки и укажите аргумент -p , если не уверены.

Диапазоны портов могут быть заключены в квадратные скобки для обозначения
порты внутри этого диапазона, которые появляются в nmap-services .
Например, следующее будет сканировать все порты в nmap-services
равно или меньше 1024: -p [-1024] .Будьте осторожны с оболочкой
расширения и процитируйте аргумент -p , если не уверены.

Учебник по быстрому сканированию портов

Учебник по быстрому сканированию портов

Одна из моих целей при разработке Nmap — сохранить наиболее распространенные
простое использование, сохраняя гибкость для индивидуальных и расширенных
сканирование. Это достигается с помощью интерфейса командной строки с помощью
предлагая десятки вариантов, но выбирая разумные значения по умолчанию, когда они
не указан. Новичок может начать с такой простой команды, как
nmap <цель> .Между тем, опытные пользователи иногда указывают так много параметров, что их
Терминальная линия оборачивается вокруг.

Аналогичные весы должны быть достигнуты с помощью командного вывода. Большинство
важные результаты должны быть заметны даже для случайного пользователя, который
даже не прочитал справочную страницу. Тем не менее, вывод должен быть исчерпывающим и
достаточно краткий, чтобы подойти профессиональным тестерам на проникновение, которые используют Nmap
против тысяч машин ежедневно. Пользователи достаточно умны, чтобы прочитать это
книга или исходный код Nmap выигрывают от большего контроля над
сканер и понимание того, что на самом деле означает вывод Nmap.

В этом руководстве демонстрируются некоторые распространенные способы сканирования портов Nmap.
сценарии и объясняет вывод. Вместо того, чтобы пытаться быть
всесторонний, цель состоит в том, чтобы просто познакомить новых пользователей достаточно хорошо, чтобы
понять остальную часть этой главы.

Самая простая команда Nmap — это просто nmap by
сам. Это распечатает шпаргалку с общими опциями и синтаксисом Nmap.
Более интересная команда — nmap
, что делает
следующее:

  1. Преобразует <цель> из
    имя хоста в адрес IPv4 с использованием DNS.Если
    Вместо имени хоста указывается IP-адрес, этот поиск пропускается.

  2. Пингует хост, по умолчанию с пакетом эхо-запроса ICMP
    и пакет TCP ACK на порт 80, чтобы определить, работает ли он и
    Бег. Если нет, Nmap сообщает об этом и завершает работу. я мог бы иметь
    указал -Pn , чтобы пропустить этот тест. См. Главу 3, Host Discovery («Ping Scanning») .

  3. Преобразует целевой IP-адрес обратно в имя, используя
    запрос обратного DNS.Из-за того, как работает DNS, обратное имя
    может не совпадать с <цель>
    указан в командной строке. Этот запрос можно пропустить с помощью
    -n вариант повышения скорости и
    скрытность.

  4. Запускает сканирование TCP-портов 1000 самых популярных из перечисленных портов.
    в nmap-services . Скрытое сканирование SYN обычно
    используется, но вместо этого используется сканирование подключения для пользователей Unix без полномочий root
    у кого нет привилегий, необходимых для отправки сырых
    пакеты.

  5. Печатает результаты на стандартный вывод в обычном формате.
    человекочитаемый формат и выходы. Другие форматы вывода и местоположения
    (файлы) можно указать, как описано в главе 13, Форматы вывода Nmap .
    Пример 4.2
    отображает результаты, когда scanme.nmap.org используется как
    <цель> .

Пример 4.2. Простое сканирование: nmap scanme.nmap.org

 #   nmap scanme.nmap.org  

Запуск Nmap (http: // nmap.org)
Отчет о сканировании Nmap для scanme.nmap.org (64.13.134.52)
Не показано: 994 отфильтрованных порта
ПОРТОВАЯ ГОСУДАРСТВЕННАЯ СЛУЖБА
22 / TCP открыть SSH
25 / tcp закрытый smtp
53 / tcp открытый домен
70 / tcp закрытый суслик
80 / tcp открыть http
113 / tcp закрытая аутентификация

Выполнено Nmap: 1 IP-адрес (1 хост активен) просканирован за 4,99 секунды
 

Первая выходная строка в
В примере 4.2 просто указан URL-адрес для загрузки Nmap. Время запуска Nmap и
номер версии также обычно предоставляется, хотя они были
обычно удаляется из этой книги для единообразия и во избежание строчки
упаковка.

В следующей строке указан целевой IP-адрес (IPv4 в данном
case), и
обратный DNS
имя (также известное как запись PTR)
если это
имеется в наличии. Nmap обещает показать «интересные порты», хотя все
просканированные порты учитываются. Порты считаются наиболее
интересно, потому что они открыты или находятся в редко встречаемом состоянии для этого
хост расписаны индивидуально. Когда много портов в одном
не открытое состояние, они считаются состоянием по умолчанию и объединяются в
одна линия, чтобы не разбавлять результаты тысячами
неинтересные записи.В этом случае Nmap отмечает, что 994 порта являются
фильтрованный.

Далее следует таблица интересных портов, в которой приводится ключ
результаты сканирования. Столбцы различаются в зависимости от используемых параметров, но в
в этом случае укажите номер порта и протокол, состояние и службу
протокол для каждого порта. Сервис здесь — всего лишь предположение, сделанное
ищу порт в nmap-services . В
служба будет указана как неизвестно , если любой из
у портов не было зарегистрированного имени в этом файле. Три из этих портов открыты
и три закрыты.

Наконец, Nmap сообщает некоторую базовую статистику времени перед выходом.
Эта статистика представляет собой количество указанных целей, количество тех,
что сканирование ping завершено, и общее время, затраченное на выполнение.

Хотя часто достаточно этой простой команды, для продвинутых
пользователи часто идут намного дальше. В примере 4.3 сканирование изменено с помощью
четыре варианта. -p0- просит Nmap сканировать все возможные
TCP-порт, -v просит Nmap подробно рассказать об этом,
-A позволяет проводить агрессивные тесты, такие как удаленная ОС
обнаружение, обнаружение службы / версии и движок сценариев Nmap
(NSE).Наконец, -T4 обеспечивает более агрессивный выбор времени.
политика для ускорения сканирования.

Пример 4.3. Более сложный: nmap -p0- -v -A -T4 scanme.nmap.org

 #   nmap -p0- -v -A -T4 scanme.nmap.org  

Запуск Nmap (http://nmap.org)
Сканирование Ping завершено в 00:03, прошло 0,01 с (всего 1 хост)
Сканирование scanme.nmap.org (64.13.134.52) [65536 портов]
Обнаружен открытый порт 22 / tcp на 64.13.134.52
Обнаружен открытый порт 53 / tcp на 64.13.134.52
Обнаружил открытый порт 80 / tcp на 64.13,134,52
Синхронизация скрытого сканирования SYN: выполнено около 6,20%; ETC: 00:11 (осталось 0:07:33)
Завершено скрытое сканирование SYN в 00:10, прошло 463,55 с (всего 65536 портов)
Завершено сканирование служб в 00:10, прошло 6,03 с (3 службы на 1 хосте)
Запуск обнаружения ОС (попытка №1) для scanme.nmap.org (64.13.134.52)
Запуск Traceroute в 00:10
64.13.134.52: угадывание расстояния прыжка на 9
ДВИГАТЕЛЬ СЦЕНАРИЙ завершен в 00:10, прошло 4,04 сек.
Хост scanme.nmap.org (64.13.134.52) работает ... хорошо.
Отчет о сканировании Nmap для scanme.nmap.org (64.13.134.52)
Не показано: 65530 фильтрованных портов
ВЕРСИЯ ГОСУДАРСТВЕННОЙ СЛУЖБЫ ПОРТА
22 / tcp открыть ssh OpenSSH 4.3 (протокол 2.0)
25 / tcp закрытый smtp
53 / tcp открытый домен ISC BIND 9.3.4
70 / tcp закрытый суслик
80 / tcp открыть http Apache httpd 2.2.2 ((Fedora))
| _HTML title: Вперед, ScanMe!
113 / tcp закрытая аутентификация
Тип устройства: общего назначения
Запуск: Linux 2.6.X
Сведения об ОС: Linux 2.6.20-1 (Fedora Core 5)
Предполагаемое время доступности: 2,457 дней (с чт, 18 сентября, 13:13:24 2008 г.)
Прогнозирование последовательности TCP: сложность = 204 (удачи!)
Генерация последовательности IP ID: все нули

TRACEROUTE (с использованием порта 80 / tcp)
HOP RTT АДРЕС
[Первые восемь хмелей сокращены для краткости]
9 10.36 metro0.sv.svcolo.com (208.185.168.173)
10 10.29 scanme.nmap.org (64.13.134.52)

Выполнено Nmap: 1 IP-адрес (1 хост активен) просканирован за 477,23 секунды
           Отправлено сырых пакетов: 131432 (5,783 МБ) | Rcvd: 359 (14,964 КБ)
 

Nmap определенно обеспечил требуемую многословность в Примере 4.3! К счастью, дополнительная
вывод легко понять. Первые 13 новых строк — время выполнения
информация, позволяющая пользователю узнать, что происходит, когда он смотрит
выжидающе у терминала, надеясь на хорошие новости. Какие
представляет собой хорошие новости, зависит от того, является ли она системным
администратор, которому нужно исправить проблемы, тестер, которому нужны
проблемы, о которых нужно сообщить, или взломщик черной шляпы, пытающийся использовать
их.Для краткости удалено около десятка подобных строк. Строки «обнаруженный открытый порт» обеспечивают
уведомление об открытых портах как таковое, чтобы она могла начать стучать
на них еще до завершения сканирования. Строка «время сканирования»
дает оценку времени завершения, чтобы она знала, следует ли сохранять
смотреть на экран или обедать. Поскольку условия сети
(задержка, перегрузка, пропускная способность и т. д.) и правила фильтрации пакетов различаются
так много, одни и те же параметры сканирования могут занять 30 секунд для
один хозяин и 45 минут против другого.Если вы хотите получить текущую оценку времени при сканировании, просто нажмите
входить.

В таблице портов нет новых портов. Все лишние порты просканированы
находятся в отфильтрованном состоянии, увеличивая общее количество отфильтрованных портов с 994
до 65 530. Хотя новых портов в списке нет, в записях есть
измененный. Новый столбец VERSION содержит сведения об имени и версии приложения для службы прослушивания. Это приходит
от обнаружения службы, одна из функций, включенных
вариант -A .Еще одна особенность обнаружения сервисов заключается в том, что все
сервисных протоколов в столбце СЕРВИС фактически были
проверено. В предыдущем сканировании они были основаны на относительно
хлипкая эвристика поиска номера порта nmap-services .
На этот раз поиск в таблице оказался правильным, но не
всегда быть.

Еще одна функция, добавленная в -A , — это Nmap.
Механизм сценариев,
который подробно обсуждается в
Глава 9, Механизм сценариев Nmap .Здесь показан только сценарий HTML.
название
. Существуют десятки других скриптов, но ни один из них не оказался полезным
вывод для этой машины. В
трассировка
результаты также были добавлены
по . Этот вариант более эффективен и более
мощнее, чем большинство программ traceroute, так как зондирование выполняется в
parallel, а Nmap использует результаты сканирования для определения подходящего зонда
тип (в данном случае TCP-пакеты на порт 80).

Большинство оставшихся новых строк происходит от обнаружения ОС (также
включен -A ), что подробно обсуждается в
Глава 8, Удаленное обнаружение ОС .Последняя строка показывает, что все эти лишние
за информацию пришлось заплатить — сканирование заняло почти в 100 раз больше времени, чем
Пример 4.2, «Простое сканирование: nmap scanme.nmap.org» для завершения (477
секунд по сравнению с 5).

Методы сканирования портов | Nmap Сетевое сканирование

Как новичок, занимающийся ремонтом автомобилей, я могу бороться
часами пытаясь подогнать мои элементарные инструменты (молоток, скотч,
гаечный ключ и т. д.) к поставленной задаче. Когда я с треском терплю неудачу и буксирую свой
как драндулет до настоящего механика, он неизменно выуживает в огромном сундуке с инструментами, пока
вытащить идеальную штуковину, которая делает работу легкой.В
искусство сканирования портов похоже. Эксперты разбираются в десятках
сканировать методы и выбрать подходящий (или комбинацию) для
данное задание. Неопытные пользователи и
Сценарий детишек,
с другой
рука, попробуйте решить все проблемы с помощью сканирования SYN по умолчанию. Поскольку Nmap
бесплатно, единственным препятствием на пути к мастерству сканирования портов являются знания. Что
определенно превосходит автомобильный мир, где для
определите, что вам нужен компрессор пружины стойки, тогда вы все равно
за это придется заплатить тысячи долларов.

Большинство типов сканирования доступны только для
привилегированные пользователи.
Это потому, что они отправляют и получают
сырые пакеты,
что требует root
доступ в системах Unix. Использование учетной записи администратора в Windows — это
рекомендуется, хотя Nmap иногда работает с непривилегированными пользователями.
платформа, когда Npcap уже загружен в ОС. Требуется
привилегии root были серьезным ограничением, когда Nmap был выпущен в
1997 г., когда у многих пользователей был доступ только к общим учетным записям оболочки. Сейчас,
мир другой.Компьютеры дешевле, у людей их гораздо больше
постоянный прямой доступ в Интернет и настольные системы Unix (включая
Linux и Mac OS X). Версия Nmap для Windows теперь
доступный, что позволяет ему работать на еще большем количестве рабочих столов. Для всех этих
По этой причине пользователям меньше нужно запускать Nmap из ограниченных общих учетных записей оболочки.
Это к счастью, так как привилегированные параметры делают Nmap намного лучше.
мощный и гибкий.

Хотя Nmap пытается дать точные результаты, имейте в виду
что все его идеи основаны на пакетах, возвращаемых целью
машины (или межсетевые экраны перед ними).Такие хосты могут быть
ненадежны и отправляют ответы, направленные на то, чтобы запутать или ввести Nmap в заблуждение.
Гораздо чаще встречаются хосты, не соответствующие RFC, которые не отвечают как
они должны пробовать Nmap. Сканы FIN, NULL и Xmas
особенно подвержены этой проблеме. Такие проблемы характерны для
определенные типы сканирования и так
обсуждается в отдельных записях типа сканирования.

Этот раздел документирует сканирование дюжины или около того портов.
методы, поддерживаемые Nmap. Одновременно можно использовать только один метод,
кроме сканирования UDP ( -sU ) и любого из
Типы сканирования SCTP ( -sY , -sZ )
можно комбинировать с любым из типов сканирования TCP.В качестве вспомогательного средства памяти можно указать варианты типа сканирования портов.
имеют вид -s , где
— заметный символ на сканированном изображении
имя, обычно первое. Единственное исключение — устаревший
Сканирование отказов FTP ( -b ). По умолчанию Nmap выполняет
SYN-сканирование, хотя оно заменяет сканирование соединения, если пользователь не
иметь соответствующие привилегии для отправки сырых пакетов (требуется root-доступ на
Unix). Сканов, перечисленных в этом
раздел, непривилегированные пользователи могут выполнять только подключение и отказ от FTP
сканирование.

-sS (TCP SYN сканирование)

SYN-сканирование — это стандартный и самый популярный вариант сканирования навсегда
причины. Это можно сделать быстро, сканируя тысячи портов за
во-вторых, в быстрой сети, которой не мешают ограничительные брандмауэры. Это также
относительно ненавязчивый и незаметный, поскольку он никогда не завершает TCP
соединения. SYN-сканирование работает скорее с любым совместимым стеком TCP.
чем в зависимости от особенностей конкретных платформ, поскольку Nmap
FIN / NULL / Xmas, Maimon и простое сканирование.Это также позволяет очистить,
надежное различие между open ,
закрыто и отфильтровано
состояния.

Этот метод часто называют полуоткрытым сканированием,
потому что вы не открываете полное TCP-соединение. Вы отправляете SYN-пакет,
как будто вы собираетесь открыть настоящее соединение, а затем ждать
отклик. SYN / ACK указывает, что порт прослушивает (открыт), в то время как
RST (сброс) указывает на то, что он не слушает. Если нет ответа
полученный после нескольких повторных передач, порт помечается как
фильтрованный.Порт также помечается как отфильтрованный, если ICMP недоступен.
получена ошибка (тип 3, код 0, 1, 2, 3, 9, 10 или 13). Порт также считается открытым, если в ответ получен SYN-пакет (без флага ACK). Это может быть связано с чрезвычайно редкой функцией TCP, известной как одновременное открытое или разделенное соединение с подтверждением связи (см. Https://nmap.org/misc/split-handshake.pdf).

-sT (сканирование TCP-соединения)

Сканирование TCP-соединения — это тип сканирования TCP по умолчанию, когда сканирование SYN
не вариант.Это тот случай, когда у пользователя нет сырого пакета
привилегии. Вместо того, чтобы писать в сыром виде
пакетов, как и большинство других типов сканирования, Nmap запрашивает
операционная система, чтобы установить соединение с целевой машиной и
порт, выполнив системный вызов connect . Это
тот же системный вызов высокого уровня, который используют веб-браузеры, клиенты P2P и
большинство других сетевых приложений используют для установления соединения.
Это часть программного интерфейса, известного как сокеты Беркли.
API. Вместо того, чтобы читать необработанные ответы пакетов по сети, Nmap использует
этот API для получения информации о состоянии при каждой попытке подключения.

Когда доступно сканирование SYN, обычно это лучший выбор. Nmap
имеет меньший контроль над высоким уровнем подключиться вызов
чем с необработанными пакетами, что делает его менее эффективным. Системный вызов
завершает подключения к открытым целевым портам, а не выполняет
полуоткрытый сброс, который выполняет сканирование SYN. Мало того, что это занимает больше времени
и требуют больше пакетов для получения той же информации, но нацелены
машины с большей вероятностью будут регистрировать соединение. Приличная IDS будет
ловить тоже, но у большинства машин нет такой сигнализации.Многие
службы в вашей средней системе Unix добавят примечание в системный журнал, и
иногда появляется загадочное сообщение об ошибке, когда Nmap подключается, а затем закрывается
соединение без отправки данных. Поистине жалкий крах сервисов
когда это происходит, хотя это случается редко. Администратор, который видит
куча попыток подключения в ее логах из единой системы должна
знаю, что она была просканирована.

-sU (UDP сканирование)

В то время как большинство популярных сервисов в Интернете работают через TCP
протокол, сервисы UDP
широко распространены.DNS, SNMP и DHCP
(зарегистрированные порты 53, 161/162 и 67/68) — три из самых
общий. Поскольку сканирование UDP обычно медленнее и сложнее
чем TCP, некоторые аудиторы безопасности игнорируют эти порты. Это ошибка, так как
эксплуатируемые службы UDP довольно распространены, и злоумышленники, безусловно,
не игнорируйте весь протокол. К счастью, Nmap может помочь в инвентаризации
UDP-порты.

UDP сканирование активируется с опцией -sU . Это
может сочетаться с типом сканирования TCP, таким как сканирование SYN
( -sS ) для проверки обоих протоколов во время одного
запустить.

UDP-сканирование работает путем отправки UDP-пакета каждому
целевой порт. Для некоторых распространенных портов, таких как 53 и 161,
полезная нагрузка, зависящая от протокола, отправляется для увеличения скорости ответа, но для большинства портов пакет
пусто, если - данные ,
- строка-данных или - длина-данных
параметры указаны.
Если возникает ошибка недоступности порта ICMP (тип 3, код 3).
вернулся, порт закрыт . Другие ошибки недоступности ICMP (тип 3,
коды 0, 1, 2, 9, 10 или 13) помечают порт как отфильтрованный .Иногда
служба ответит UDP-пакетом, доказывая, что это открытый . Если
после повторных передач ответ не получен, порт классифицирован
как открыто | отфильтровано . Это означает, что порт может быть открыт или, возможно,
пакетные фильтры блокируют обмен данными. Обнаружение версии
( -sV ) можно использовать, чтобы помочь отличить действительно
открывать порты из отфильтрованных.

Большой проблемой при сканировании UDP является его быстрое выполнение.
Открытые и отфильтрованные порты редко отправляют ответ, оставляя Nmap на время
а затем провести ретрансляцию на случай, если зонд или
ответ были потеряны.Закрытые порты часто являются еще большей проблемой.
Обычно они отправляют обратно сообщение об ошибке недоступности порта ICMP. Но в отличие от
Пакеты RST, отправленные закрытыми портами TCP в ответ на SYN или соединение
сканирование, ограничение скорости многих хостов
Сообщения о недоступности порта ICMP по умолчанию.
Linux и Solaris особенно строги в этом отношении. Например,
Ядро Linux 2.4.20 ограничивает количество сообщений о недоступности пункта назначения одним для каждого.
второй (в net / ipv4 / icmp.c ).

Nmap обнаруживает ограничение скорости и соответственно замедляется, чтобы избежать
наводнение сети бесполезными пакетами, которые целевая машина будет
уронить.К сожалению, ограничение в стиле Linux — один пакет в секунду.
делает сканирование 65 536 портов более 18 часов. Идеи для превышения скорости
ваши UDP-сканирование включает в себя параллельное сканирование большего количества хостов, выполнение
быстрое сканирование сначала только популярных портов, сканирование из-за
брандмауэр и использование --host-timeout для пропуска медленного
хосты.

-sY (сканирование SCTP INIT)

SCTP
относительно новая альтернатива протоколам TCP и UDP,
совмещая большинство характеристик TCP и UDP, а также добавляя
новые функции, такие как множественная адресация и многопоточность.Это в основном
используется для услуг, связанных с SS7 / SIGTRAN, но имеет потенциал
для использования в других приложениях.

Сканирование SCTP INIT — это SCTP-эквивалент сканирования TCP SYN.
Это можно сделать быстро, сканируя тысячи портов за
во-вторых, в быстрой сети, которой не мешают ограничительные брандмауэры.
Как и SYN-сканирование, INIT-сканирование относительно ненавязчиво и незаметно.
поскольку он никогда не завершает ассоциации SCTP. Это также позволяет очистить,
надежное различие между open ,
закрыто и отфильтровано
состояния.

Этот метод часто называют полуоткрытым сканированием,
потому что вы не открываете полную ассоциацию SCTP. Вы отправляете INIT
кусок, как будто вы собираетесь открыть настоящую ассоциацию, а затем ждать
для ответа. Блок INIT-ACK указывает, что порт прослушивает
(открытый), в то время как блок ABORT указывает на то, что он не слушает. Если нет
ответ получен после нескольких повторных передач, порт
помечены как отфильтрованные. Порт также помечается как отфильтрованный, если ICMP
недостижимая ошибка (тип 3, код 0, 1, 2, 3, 9, 10 или 13)
получили.

-сН ; -sF ; -sX (сканирование TCP NULL, FIN и Xmas)

Эти три типа сканирования (с
--scanflags , описанный в следующем разделе)
использовать тонкую лазейку в TCP RFC, чтобы
различать открытый и
закрыто портов. На странице 65 RFC 793 говорится, что «если
[пункт назначения] состояние порта ЗАКРЫТО …. входящий сегмент не
содержащий RST вызывает отправку RST в ответ.»Затем следующий
на странице обсуждаются пакеты, отправленные на открытые порты без SYN, RST или ACK.
бит, заявив, что: «вы вряд ли доберетесь сюда, но если вы это сделаете, бросьте
сегмент и вернуться ».

При сканировании систем, совместимых с этим текстом RFC, любой пакет
не содержащий битов SYN, RST или ACK приведет к возврату RST, если
порт закрыт и не отвечает вообще, если порт открыт. В виде
пока ни один из этих трех битов не включен, любая комбинация
остальные три (FIN, PSH и URG) в порядке.Nmap использует это тремя
типы сканирования:

Нулевое сканирование ( -sN )

Не устанавливает никаких битов (заголовок TCP-флага равен 0)

FIN-сканирование ( -sF )

Устанавливает только бит TCP FIN.

Рождественское сканирование ( -sX )

Устанавливает флаги FIN, PSH и URG, зажигая
упаковать, как новогодняя елка.

Эти три типа сканирования абсолютно одинаковы по поведению, за исключением
для флагов TCP, установленных в пробных пакетах.Если получен пакет RST,
порт считается закрытым , при этом нет ответа
означает, что это открыто | отфильтровано . Порт отмечен
отфильтровывает , если ошибка недоступности ICMP (тип 3, код
0, 1, 2, 3, 9, 10 или 13) получено.

Ключевым преимуществом этих типов сканирования является то, что они могут
через определенные межсетевые экраны без отслеживания состояния и фильтрацию пакетов
маршрутизаторы. Еще одним преимуществом является то, что эти типы сканирования немного больше
скрытнее, чем даже сканирование SYN. Но не рассчитывайте на это — большинство
современные продукты IDS можно настроить на их обнаружение.Большой
Обратной стороной является то, что не все системы в точности следуют RFC 793. А
количество систем, отправляющих RST-ответы зондам, независимо от
открыт порт или нет. Это приводит к тому, что все порты становятся
с надписью закрыто . Основные операционные системы, которые
это Microsoft Windows, многие устройства Cisco, BSDI и IBM OS / 400.
Однако это сканирование работает с большинством систем на базе Unix. Другой
Обратной стороной этих сканирований является то, что они не могут отличить открытых порта от
определенные отфильтровали , оставив вам ответ
открыто | отфильтровано .

-sA (сканирование TCP ACK)

Это сканирование отличается от других, обсуждаемых до сих пор, в том, что
он никогда не определяет открытый (или даже
открытых | отфильтрованных ) портов. Он используется для отображения
наборы правил брандмауэра, определяющие, являются ли они с отслеживанием состояния или нет, и
какие порты фильтруются.

В пакете проверки ACK-сканирования установлен только флаг ACK (если вы не
используйте --scanflags ). При сканировании нефильтрованных систем
открыт и закрыт Порты оба
вернуть пакет RST.Затем Nmap помечает их как
нефильтрованные , что означает, что они доступны для
Пакет ACK, но независимо от того, открытые или
закрыто не определено. Порты, которые не отвечают,
или отправить обратно определенные сообщения об ошибках ICMP (тип 3, код 0, 1, 2, 3, 9, 10,
или 13), обозначены как отфильтровано .

-sW (сканирование окна TCP)

Сканирование окна точно такое же, как сканирование ACK, за исключением того, что оно
использует детали реализации определенных систем, чтобы различать
открывать порты из закрытых, а не всегда печатать
нефильтровано при возврате RST.Он делает это
проверка поля TCP Window возвращенных пакетов RST. На некоторых
системы, открытые порты используют положительный размер окна (даже для пакетов RST)
в то время как закрытые имеют нулевое окно. Поэтому вместо того, чтобы всегда перечислять
порт как нефильтрованный , когда он получает обратно RST,
При сканировании окна порт отображается как открытый или
закрыл , если значение TCP Window в этом сбросе
положительный или нулевой соответственно.

Это сканирование основано на деталях реализации меньшинства
системы в Интернете, поэтому вы не всегда можете им доверять.Системы
которые не поддерживают его, обычно возвращают все порты
закрыто . Конечно, возможно, что машина
действительно не имеет открытых портов. Если большинство просканированных портов
закрыл , но несколько общих номеров портов (например, 22,
25, 53) отфильтрованы , система, скорее всего,
восприимчивый. Иногда системы показывают прямо противоположное.
поведение. Если ваше сканирование показывает 1000 открытых портов и три закрытых или отфильтрованных
портов, то эти три вполне могут быть действительно открытыми.

-sM (сканирование TCP Маймона)

Сканирование Маймона названо в честь его первооткрывателя,
Уриэль Маймон.
Он описал эту технику в
Phrack Журнал № 49 (ноябрь 1996 г.).
Nmap, включающий эту технику, был выпущен двумя выпусками позже.
Этот метод точно такой же, как сканирование NULL, FIN и Xmas, за исключением
что зонд FIN / ACK. Согласно RFC 793 (TCP), пакет RST
должен быть сгенерирован в ответ на такой зонд, является ли порт
открытые или закрытые.Однако Уриэль заметил, что многие системы, производные от BSD,
просто отбросьте пакет, если порт открыт.

--scanflags (Пользовательское сканирование TCP)

По-настоящему продвинутые пользователи Nmap не должны ограничивать себя
Предлагаемые стандартные типы сканирования. Параметр --scanflags позволяет
вы можете разработать собственное сканирование, указав произвольные
Флаги TCP.
Пусть ваши творческие соки текут, уклоняясь
системы обнаружения вторжений
поставщики которых просто пролистали справочную страницу Nmap, добавив конкретные правила!

Аргумент --scanflags может быть числовым.
значение флага, такое как 9 (PSH и FIN), но использование символьных имен недопустимо.
Полегче.Просто смешайте любую комбинацию URG ,
АСК , ПШ ,
RST , SYN и
ФИН . Например, --scanflags
УРГАКПШРСЦЫНФИН
все настраивает, правда не очень
полезно для сканирования. Порядок их указания следующий:
не имеющий отношения.

Помимо указания желаемых флагов, вы можете указать
Тип сканирования TCP (например, -sA или -sF ).
Этот базовый тип сообщает Nmap, как интерпретировать ответы.Для
Например, при сканировании SYN считается, что отсутствие ответа указывает на
отфильтровал порт , в то время как сканирование FIN обрабатывает то же, что и
открыто | отфильтровано . Nmap будет вести себя так же, как и
работает для базового типа сканирования, за исключением того, что он будет использовать флаги TCP, которые вы
укажите вместо этого. Если вы не укажете базовый тип, сканирование SYN будет
использовал.

-sZ (сканирование SCTP COOKIE ECHO)

SCTP COOKIE ECHO scan — это более продвинутое сканирование SCTP. Занимает
преимущество того факта, что реализации SCTP должны молча
отбрасывать пакеты, содержащие фрагменты COOKIE ECHO, на открытые порты, но
отправить ABORT, если порт закрыт.Преимущество этого типа сканирования в том, что он не так очевиден.
сканирование портов, чем сканирование INIT. Кроме того, могут быть не сохраняющие состояние
наборы правил брандмауэра, блокирующие блоки INIT, но не COOKIE ECHO
куски. Не обманывайтесь, думая, что это сделает
сканирование портов невидимое; хорошая IDS сможет обнаружить SCTP
COOKIE ECHO тоже сканирует.

Обратной стороной является то, что сканирование SCTP COOKIE ECHO не может различать
между открыто и отфильтровано
порты, оставляя вас с состоянием открыто | отфильтровано
в обоих случаях.

-sI <хост-зомби> [: ] (сканирование в режиме ожидания)

Этот расширенный метод сканирования позволяет использовать по-настоящему слепой TCP
сканирование порта цели (это означает, что пакеты не отправляются на
target с вашего реального IP-адреса). Вместо этого уникальный
атака по побочному каналу использует предсказуемый идентификатор фрагментации IP
генерация последовательности на хосте-зомби для сбора информации
про открытые порты на цели.Системы IDS будут
отображать сканирование как исходящее от зомби-машины, которую вы
указать (который должен быть запущен и соответствовать определенным критериям).

Полная информация об этом захватывающем типе сканирования находится в
раздел под названием «TCP Idle Scan ( -sI )».

Помимо того, что он необычайно незаметен (из-за
слепая природа), этот тип сканирования позволяет отображать
Доверительные отношения между машинами на основе IP. Порт
список показывает открытые порты
с точки зрения зомби
хозяин.
Итак, вы можете попробовать сканировать цель, используя
различные зомби, которые, по вашему мнению, могут быть
доверенный
(через правила маршрутизатора / пакетного фильтра).

Вы можете добавить двоеточие, за которым следует номер порта, в
хост-зомби, если вы хотите исследовать конкретный порт на
зомби для изменения IP ID. В противном случае Nmap будет использовать порт, на котором
по умолчанию используется для пингов TCP (80).

-sO (сканирование протокола IP)

Сканирование протокола IP позволяет определить, какие протоколы IP
(TCP, ICMP, IGMP и т. Д.) поддерживаются целевыми машинами. Это не
технически сканирование портов, поскольку оно циклически переключает номера IP-протоколов
а не номера портов TCP или UDP. Тем не менее, он по-прежнему использует
-p опция для выбора отсканированных номеров протоколов, отчетов
его результаты в обычном формате таблицы портов, и даже использует тот же
базовое ядро ​​сканирования как истинные методы сканирования портов. Так что, это
достаточно близко к сканированию порта, чтобы он принадлежал этому.

Помимо самостоятельной полезности, сканирование протокола
демонстрирует мощь программного обеспечения с открытым исходным кодом.Хотя фундаментальные
идея довольно проста, я не подумал добавить ее и не получил
запросы на такую ​​функциональность. Затем летом 2000 года
Герхард Ригер
задумал, написал отличный патч, реализующий ее,
и отправил в
анонс список рассылки
(тогда называли nmap-hackers ).
Я включил этот патч в дерево Nmap и выпустил новый
версия на следующий день. У некоторых коммерческих программ есть пользователи
достаточно энтузиазм, чтобы разработать и внести свой собственный
улучшения!

Сканирование протокола работает аналогично сканированию UDP.Вместо
перебора поля номера порта UDP-пакета, он отправляет
Заголовки IP-пакетов и повторение восьмибитового поля протокола IP.
Заголовки обычно пустые, не содержат данных и даже
правильный заголовок для заявленного протокола. Исключение составляют TCP,
UDP, ICMP, SCTP и IGMP. Соответствующий заголовок протокола для них включен, поскольку
некоторые системы не будут отправлять их в противном случае, и потому что Nmap уже имеет
функции для их создания. Вместо того, чтобы следить за портом ICMP
недоступные сообщения, сканирование протокола в поисках ICMP
протокол недостижимых сообщения.Если Nmap получит
любой ответ в любом протоколе от целевого хоста, Nmap отмечает, что
протокол как открыть . Протокол ICMP недоступен
ошибка (тип 3, код 2) приводит к тому, что протокол помечается как
закрыт при недоступности порта (тип 3, код 3)
отмечает протокол открытым . Другие ошибки недоступности ICMP (тип 3, код
0, 1, 9, 10 или 13) вызывают пометку протокола
отфильтровано (хотя они доказывают, что ICMP
открыть одновременно). Если ответа не получено
после повторных передач протокол помечается
открыто | отфильтровано

-b (сканирование отказов FTP)

Интересной особенностью протокола FTP (RFC 959) является
поддержка так называемых FTP-подключений через прокси.Это позволяет пользователю
подключитесь к одному FTP-серверу, затем попросите отправить файлы на
сторонний сервер. Такая функция созрела для злоупотреблений на многих уровнях,
поэтому большинство серверов перестали его поддерживать. Одно из злоупотреблений этим
Функция позволяет заставляет FTP-сервер сканировать порты других хостов.
Просто попросите FTP-сервер отправить файл на каждый интересующий порт
целевой хост в свою очередь. В сообщении об ошибке будет указано,
открыто или нет. Это хороший способ обойти брандмауэры, потому что
организационные FTP-серверы часто размещаются там, где у них есть
больший доступ к другим внутренним хостам, чем у любого старого интернет-хоста.Nmap поддерживает FTP
сканирование отказов с опцией -b . Требуется аргумент
формы
<имя пользователя> : <пароль> @ <сервер> : <порт> .
— имя или IP-адрес
уязвимый FTP-сервер. Как и в случае с обычным URL-адресом, вы можете опустить
<имя пользователя> : <пароль> ,
в этом случае анонимные учетные данные для входа (пользователь:
анонимный пароль: -wwwuser @ )
используются.Номер порта (и предшествующее двоеточие) можно опустить как
ну, в этом случае порт FTP по умолчанию (21) на
<сервер> используется.

Эта уязвимость была широко распространена в 1997 году, когда Nmap был
выпущен, но в значительной степени исправлен. Уязвимые серверы по-прежнему
вокруг, так что стоит попробовать, когда все остальное терпит неудачу. Если в обход
брандмауэр — ваша цель, просканируйте целевую сеть на наличие порта 21 (или
даже для любых FTP-сервисов, если вы просканируете все порты с версией
обнаружение) и используйте
ftp-bounce
Скрипт NSE.Nmap скажет вам
уязвим ли хост или нет. Если вы просто пытаетесь
заметать следы, вам не нужно (да и не следует) ограничивать
себя к хостам в целевой сети. Перед сканированием
случайные интернет-адреса для уязвимых FTP-серверов, учтите, что
системные администраторы могут не оценить, что вы злоупотребляете их серверами в этом
способ.

Флаги командной строки | Nmap Сетевое сканирование

Хотя в руководстве показано, как просто выполнить сканирование портов Nmap
может быть, доступны десятки флагов командной строки, чтобы сделать систему
более мощный и гибкий.В этом разделе рассматриваются только варианты, которые
относятся к сканированию портов и часто описывают только
связанная со сканированием портов функциональность этих опций. См. Главу 15, Справочное руководство по Nmap для полного списка флагов опций и
все, что они делают.

Выбор методов сканирования

Одно из первых соображений при рассмотрении сканирования портов
решает, какие методы использовать. Nmap предлагает около десятка таких
методы, и в этом разделе приводится их краткое описание.Полный
освещение будет в следующей главе. Можно использовать только один метод сканирования
за один раз, за ​​исключением того, что сканирование UDP ( -sU ) может быть объединено
с любым из типов сканирования TCP. В качестве вспомогательного средства памяти введите сканирование портов.
варианты имеют форму
-s , где
— заметный символ на сканированном изображении
имя, обычно первое. Единственное исключение — устаревший
Сканирование отказов FTP ( -b ).
По умолчанию Nmap выполняет
SYN-сканирование, хотя оно заменяет сканирование соединения, если пользователь не
иметь соответствующие привилегии для отправки
сырые пакеты
(требуется root-доступ
в Unix) или если
IPv6
цели были указаны.

Методы сканирования портов, поддерживаемые Nmap

раздел под названием «TCP SYN (Stealth) Scan ( -sS )» ( -sS )

Это, безусловно, самый популярный тип сканирования, потому что он
самый быстрый способ сканирования портов самого популярного протокола (TCP).
Это более незаметно, чем сканирование с подключением, и работает против всех
функциональные стеки TCP (в отличие от некоторых специальных сканирований, таких как FIN
сканирование).

раздел под названием «TCP Connect Scan ( -sT )» ( -sT )

Connect scan использует одноименный системный вызов
сканировать машины, а не полагаться на сырые пакеты, поскольку большинство
другие методы делают.Обычно он используется непривилегированными пользователями Unix и
против целей IPv6, потому что сканирование SYN не работает в этих
случаи.

раздел под названием «UDP Scan ( -sU )» ( -sU )

Не забывайте порты UDP — они предлагают множество
дыры в безопасности тоже.

раздел под названием «Сканирование TCP FIN, NULL и Xmas ( -sF , -sN , -sX )» ( -sF , -sX , -sN )

Эти типы сканирования специального назначения умеют скрывать
прошлые брандмауэры, чтобы исследовать стоящие за ними системы.к несчастью
они полагаются на целевое поведение, которое некоторые системы (особенно Windows
варианты) не выставляются.

раздел под названием «TCP ACK Scan ( -sA )» ( -sA )

Сканирование ACK обычно используется для определения брандмауэра
наборы правил. В частности, это помогает понять, действуют ли правила брандмауэра
сохраняют состояние или нет. Обратной стороной является то, что он не может различить
открываются из закрытых портов.

раздел под названием «TCP Window Scan ( -sW )» ( -sW )

Сканирование окна похоже на сканирование ACK, за исключением того, что оно может
обнаруживать открытые и закрытые порты для определенных
машины.

раздел под названием «TCP Maimon Scan ( -sM )» ( -sM )

Этот непонятный тип сканирования для уклонения от брандмауэра
аналогичен сканированию FIN, но также включает флаг ACK. Это позволяет
это, чтобы обойтись большим количеством брандмауэров с фильтрацией пакетов, с обратной стороной, которая
он работает даже с меньшим количеством систем, чем сканирование FIN.

раздел под названием «TCP Idle Scan ( -sI )» ( -sI )

Сканирование в режиме ожидания — это самый скрытый тип сканирования из всех, и иногда он может использовать доверенные отношения IP-адресов.К сожалению, это тоже медленно и сложно.

раздел «Сканирование протокола IP ( -sO )» ( -sO )

Сканирование протоколов определяет, какие IP-протоколы (TCP, ICMP, IGMP и т. Д.)
поддерживаются целевой машиной. Технически это не порт
сканирование, так как он перебирает номера IP-протокола, а не TCP или
Номера портов UDP. Тем не менее, он по-прежнему использует опцию -p для
выбирает отсканированные номера протоколов, сообщает результаты в обычном
формат таблицы портов и даже использует тот же базовый модуль сканирования, что и
истинные методы сканирования портов.Так что это достаточно близко к сканированию портов
что ему здесь место.

раздел под названием «TCP FTP Bounce Scan ( -b )» ( -b )

Этот устаревший тип сканирования заставляет FTP-серверы выполнять сканирование портов.
по доверенности. Большинство FTP-серверов теперь подключены к
предотвратить это, но это хороший способ проскользнуть через ограничительные
брандмауэры, когда он работает.

Файл регистрации порта Nmap
( nmap-services )
содержит эмпирические данные о том, как
часто каждый порт TCP или UDP оказывается открытым.Эти данные были
собраны путем сканирования десятков миллионов интернет-адресов, затем
объединение этих результатов с данными внутреннего сканирования, внесенными большим
предприятия. По умолчанию Nmap сканирует 1000 самых популярных портов
каждый протокол просят просканировать. В качестве альтернативы вы можете указать
-F (быстрый)
возможность сканировать только 100 наиболее распространенных портов в каждом протоколе
или --top-ports , чтобы указать произвольное количество портов для
сканировать.

Если ни один из этих постоянных наборов портов не соответствует вашим потребностям, произвольный список номеров портов можно указать в командной строке с помощью
-p опция.Синтаксис -p
Вариант может быть сложным и лучше всего описывается примерами.

Примеры выбора порта с опцией -p

-p 22

Сканирование одного порта (в данном случае порта 22)
указав только это число как -p
аргумент.

-p ssh

Могут быть указаны имена портов, а не числа. Обратите внимание, что имя может соответствовать нескольким портам.

-p 22,25,80

Несколько портов можно разделять запятыми.Примечание
что протокол не указан, поэтому эти же номера портов будут использоваться для любых методов сканирования, указанных в командной строке. Если сканирование TCP, такое как
SYN-сканирование ( -sS ) указано, TCP-порты 22, 25 и 80
сканируются. Они соответствуют службам SSH, SMTP и
HTTP соответственно. Если выбрано сканирование UDP ( -sU ),
эти три порта UDP сканируются. Если указаны оба, те
три порта сканируются для каждого протокола, всего шесть
просканированные порты.При сканировании протокола IP ( -sO ) те
три протокола IP (соответствующие XNS IDP, Leaf-1 и ISO-IP)
отсканировано.

-p80-85,443,8000-8005,8080-8085

Диапазоны портов можно указать, разделив
начало и конец порта с дефисом. Несколько диапазонов или отдельные
порты можно указывать через запятую. Эта опция сканирует порты 80, 81,
82, 83, 84, 85, 443, 8000 и т. Д. В зависимости от номеров портов этот пользователь
возможно сканирование TCP и поиск в Интернете
серверы.

-p-100,60000-

Вы можете опустить начало диапазона, чтобы обозначать порт один, или конец, чтобы обозначать последний возможный порт (65535 для TCP и UDP, 255 для сканирования протокола). В этом примере сканируются порты с первого по 100 и все порты, превышающие или равные 60 000.

-p-

Пропустите начальные и конечные числа для сканирования всего диапазона (кроме нуля).

-pT: 21,23,110, U: 53,111,137,161

Отдельные списки портов TCP и UDP могут быть предоставлены
перед списками с буквой T: (для TCP) или U :.Этот пример сканирует
три порта TCP (FTP, Telnet и POP3) и четыре службы UDP (DNS,
rpcbind, NetBIOS и SNMP). Указание только портов TCP и UDP
имеет значение, если вы также укажете Nmap выполнить сканирование UDP ( -sU )
и один из методов сканирования TCP, например -sS ,
-sA , или
-sF .

-p http *

Подстановочные знаки
может использоваться для сопоставления портов с похожими именами. Это выражение соответствует восьми номерам портов, включая http (80), http-mgmt (280), https (443) и http-proxy (8080).В зависимости от вашей командной оболочки вам может потребоваться экранировать звездочку, чтобы она не рассматривалась как глобус имени файла.

-p 1-1023, [1024-]

Заключение диапазона в скобки приводит к появлению этих номеров портов
сканироваться, только если они зарегистрированы
в nmap-services . В этом примере все
зарезервированные порты (1–1 023), плюс зарегистрированные порты более высокого уровня
в nmap-services . Это было по умолчанию в Nmap
поведение до nmap-services было дополнено
данные о частоте открытого порта для более точной
выбор.

Сканирование портов часто является наиболее трудоемкой частью Nmap
сканирование (которое также может включать в себя определение ОС, определение версии и
Скрипты NSE). Хотя Nmap по умолчанию пытается быть быстрым и эффективным,
часто помогает ручная оптимизация. Nmap предлагает десятки вариантов
настройка интенсивности и скорости сканирования в соответствии с вашими потребностями. Этот
В разделе перечислены наиболее важные параметры для оптимизации сканирования портов.
раз. Параметры, которые занимают время, по умолчанию задаются в секундах, или вы можете добавить к значению мс (миллисекунды), с (секунды), м (минуты) или ч (часы).Для получения дополнительных сведений о любом из этих вариантов см.
раздел под названием «Сроки и производительность». Гораздо более тщательное лечение,
с примерами и рекомендациями по повышению производительности Nmap.
доступно в Главе 6, Оптимизация производительности Nmap .

Параметры сканирования верхнего порта

-T0 -T5

Эти временные шаблоны влияют на многие переменные,
предлагая простой способ отрегулировать общую скорость Nmap с очень медленной
( -T0 ) до чрезвычайно агрессивного (
-Т5 ).Шаблон синхронизации можно комбинировать с
более подробные параметры описаны ниже, и наиболее подробный вариант имеет приоритет.

--min-rtt-timeout ,
--max-rtt-timeout ,
--initial-rtt-timeout

Минимальное, максимальное и начальное время
что Nmap будет ждать ответа на зонд сканирования порта.

--host-timeout

Запрашивает Nmap отказаться от хостов, которые занимают больше, чем
заданное количество времени для сканирования.

- минутная ,
--max-rate

Устанавливает нижний и верхний предел, соответственно, на количество тестовых пакетов, которые Nmap отправляет в секунду.

--max-retries

Задает максимальное количество повторных передач зондов сканирования портов на один порт.

--min-hostgroup ,
--max-hostgroup

Устанавливает минимальное и максимальное количество хостов, которые
Nmap будет сканировать порты параллельно.

- мин-параллельность ,
--max-parallelism

Ограничивает минимальное или максимальное количество сканирований портов
зонды (на всех хостах, сканируемых одновременно), что Nmap может иметь
выдающийся.

- задержка сканирования ,
--max-scan-delay

Запрашивает Nmap подождать хотя бы заданное количество времени
между отправкой зондов на любой отдельный хост. Задержка сканирования может
расти, когда Nmap обнаруживает потерю пакетов, поэтому можно указать максимум
с --max-scan-delay .

Формат вывода и параметры детализации

Nmap предлагает возможность писать свои отчеты в своем стандарте.
format, простой строчно-ориентированный «grepable» формат или XML.
Эти отчеты доступны с -oN (нормальный),
-oG (grepable) и -oX (XML)
параметры. Каждая опция принимает имя файла, и их можно объединить в
вывод сразу в нескольких форматах. Также доступны несколько вариантов
увеличить детализацию вывода. В этом разделе перечислены наиболее важные параметры вывода и их применение при сканировании портов.Для получения дополнительных сведений о любом из этих вариантов см.
раздел под названием «Вывод». Более подробное описание параметров и форматов вывода с множеством примеров можно найти в главе 13, Форматы вывода Nmap .

Параметры верхнего вывода Nmap, применимые к сканированию портов

-v

Повышает уровень детализации, заставляя Nmap печатать
больше информации о выполняемом сканировании. Показаны открытые порты
по мере их обнаружения и оценки времени завершения предоставляются, когда
Nmap считает, что сканирование займет больше нескольких минут.Используйте это дважды
или больше для еще большей многословности.

-d

Увеличивает уровень отладки, заставляя Nmap печатать
подробности о его работе, которые могут быть полезны для отслеживания
ошибки или просто понимание того, как это работает. Более высокие уровни приводят к
огромные объемы данных. Использование опции один раз устанавливает отладку
уровень до одного, и он увеличивается с каждым дополнительным
-d . Или вы можете следовать -d с
желаемый уровень, как в -d5 .Если ты не видишь
достаточно информации, попробуйте более высокий уровень. Максимальный эффективный уровень
девять. Если ваш экран переполнен слишком большим количеством отладочных данных,
снизить уровень. Снижение интенсивности сканирования, например количества
сканированные порты или цели и используемые функции также могут помочь изолировать
только нужные вам отладочные сообщения.

--packet-trace

Заставляет Nmap печатать сводку каждого отправленного пакета
или получил. Это часто используется для отладки, но также
ценный способ для новых пользователей точно понять, что делает Nmap
под одеялом.Чтобы не печатать тысячи строк, вы можете
хотите указать ограниченное количество портов для сканирования, например
-p20-30 .

-oN (нормальный вывод)

Записать вывод в нормальном формате Nmap в
<имя файла> . Этот формат примерно
такой же, как стандартный интерактивный вывод, выводимый Nmap на
время выполнения.

-oX <имя файла> (вывод XML)

Записать вывод в формате XML Nmap в
<имя файла> .Нормальный (читаемый человеком) вывод
будет по-прежнему напечатан на
стандартный вывод
если вы не попросите, чтобы XML был
направлен туда, указав - как
<имя файла> . Это предпочтительный формат
для использования скриптами и программами, обрабатывающими Nmap
полученные результаты.

-oG (вывод в формате grepable)

Записать вывод в так называемом формате grepable Nmap в
<имя файла> .Этот табличный формат подходит для
вывод каждого хоста в одной строке, что упрощает поиск
открытые порты, определенные операционные системы, имена приложений или другие
данные.
Нормальный вывод будет по-прежнему выводиться на стандартный вывод, если вы не попросите
чтобы вывод grepable был направлен туда, указав
- как <имя файла> . Пока
этот формат хорошо подходит для синтаксического анализа с помощью простых grep и awk
командные строки, важные сценарии и программы должны использовать XML
вывод вместо этого.Формат XML содержит существенную информацию
этому формату grepable нет места, а расширяемость делает XML
проще обновлять новую информацию, не нарушая инструменты, которые
положитесь на это.

-oA (вывод во все форматы)

Для удобства вы можете указать -oA
для сохранения сканирования
приводит сразу к нормальному, XML и grepable форматам.Они
хранятся в .nmap,
.xml и
.gnmap соответственно.
Как и в большинстве программ, вы можете добавить к именам файлов префикс
путь к каталогу, например
~ / nmaplogs / foocorp / в Unix или
c: \ hacking \ sco в Windows.

--resume

Возобновить прерванное сканирование, указав нормальный
( -oN ) или grepable ( -oG ) выходной файл
созданный во время злополучного сканирования.Не используйте никаких опций
кроме - возобновить , так как Nmap будет использовать те
указанный в выходном файле. Затем он анализирует файл и возобновляет
сканирование (и запись в файл) на хосте, который
предыдущее выполнение Nmap продолжалось, когда оно прекратилось.

--append-output

Указывает Nmap добавлять результаты сканирования к любому выходу
указанные файлы (с такими аргументами, как -oN или
-oX ), а не перезаписывать их.

--open

Показывать только те хосты, у которых есть открытые порты, и показывать только открытые порты для них. Здесь «открытые порты» — это любые порты, которые могут быть открыты, включая открытых , открытых | отфильтрованных и нефильтрованных .

Для сканирования одного хоста (или нескольких из них) просто добавьте их имена
или IP-адреса в конец командной строки Nmap. Nmap также имеет
структурированный синтаксис, упрощающий сканирование больших сетей.Вы можете дать
Nmap для целевого списка файлов или даже попросите Nmap сгенерировать их
случайным образом. Все это описано в разделе «Определение целевых хостов и сетей».

Вот несколько вариантов, которые могут оказаться весьма полезными, даже если они
не попадают в определенные категории. В описаниях основное внимание уделяется тому, как
каждая опция относится к сканированию портов. См. Глава 15, Справочное руководство Nmap
для более полного охвата каждого варианта.

-6

Запрашивает Nmap просканировать цель, используя протокол IPv6.Этот процесс описан в разделе «Сканирование IPv6 (-6 )».

-r

Nmap по умолчанию рандомизирует порядок сканирования портов, чтобы
обнаружение немного сложнее. Опция -r
заставляет их сканировать в числовом порядке
вместо.

-Pn

Указывает Nmap пропустить тест ping и просто сканировать
каждый целевой хост предоставлен. Другие варианты управления хостом
Обнаружение описано в главе 3, Host Discovery («Ping Scanning») .

--reason

Добавляет столбец в таблицу интересных портов, который описывает, почему Nmap классифицировал порт именно так.

Глава 4. Обзор сканирования портов | Nmap Сетевое сканирование

Введение в сканирование портов

Хотя функциональность Nmap с годами росла, она началась
как эффективный сканер портов, и это остается его основной функцией. В
простая команда nmap
<цель>
сканирует наиболее часто используемые 1000 TCP
порты на хосте , классифицируя каждый
порт в состояние
открытый ,
закрытый , фильтрованный , нефильтрованный ,
открыто | отфильтровано , или
закрыто | отфильтровано .

Порты — это просто абстракция программного обеспечения, используемая для различения
между каналами связи. Подобно тому, как IP-адреса
используется для идентификации машин в сети, порты определяют конкретные
приложения, используемые на одной машине. Например, ваша сеть
браузер по умолчанию будет подключаться к TCP-порту 80 машин в HTTP
URL-адреса. Если вместо этого вы укажете безопасный протокол HTTPS, браузер
по умолчанию будет пробовать порт 443.

Nmap работает с двумя протоколами, использующими порты: TCP и UDP.А
соединение для каждого протокола однозначно идентифицируется четырьмя элементами:
исходный и целевой IP-адреса, а также соответствующий источник и
порты назначения. Все эти элементы — это просто числа, помещенные в
заголовки каждого пакета, отправленного между хостами. Протокол является
восьмибитовое поле, которое указывает, какой тип пакета содержится в
Раздел IP-данных (полезная нагрузка). Например, TCP — это протокол номер шесть, а
UDP — 17. Адреса IPv4 имеют длину 32 бита, а порты —
Длина 16 бит.Адреса IPv6 имеют длину 128 бит. Далее IP, TCP,
и детали макета заголовка UDP можно найти в
раздел под названием «TCP / IP Reference».

Поскольку самые популярные услуги зарегистрированы на известном
номер порта, часто можно догадаться, какие сервисы представляют собой открытые порты.
Nmap включает nmap-services
файл,
содержащий хорошо известный сервис для зарегистрированного порта и протокола
номера, а также общие порты для троянских бэкдоров и других
приложения, которые не утруждают себя регистрацией в Интернете. Назначено
Управление нумерации (IANA).Nmap выводит это имя службы для справки вместе с номером порта.

Поскольку поле номера порта имеет ширину 16 бит, значения могут достигать
65 535. Наименьшее возможное значение,
ноль, недействителен.
Беркли
Sockets API, который определяет, как обычно пишутся программы для сети
связь, не позволяет использовать нулевой порт как таковой. Вместо,
он интерпретирует запрос нулевого порта как подстановочный знак, означающий, что
программисту все равно, что используется. Затем система выбирает
доступный номер порта.Например, программисты редко заботятся о том, что
номер порта источника используется для исходящего соединения. Итак, они установили это
до нуля и пусть операционная система выберет один.

Пока нулевой порт недействителен, ничто не мешает кому-либо
указав его в поле заголовка. Некоторые вредоносные троянские бэкдоры
прослушивать нулевой порт скомпрометированных систем как скрытый способ предложить
незаконный доступ, не появляющийся при сканировании большинства портов. Сражаться
это, Nmap позволяет сканировать нулевой порт, если он указан
явно (e.грамм. -p0-65535 ).

Первый класс действительных портов, номеров
от одного до 1023,
известны как зарезервированные порты. Системы Unix (в отличие от Windows) требуют
что в приложениях есть особые
(root) привилегии
чтобы привязать к
и слушайте эти порты. Идея состоит в том, чтобы позволить удаленным пользователям доверять
что они подключаются к действующей службе, запущенной
администратором, а не каким-то злым непривилегированным пользователем. Если
зарегистрированный порт для SSH был 2222 вместо 22, злоумышленник мог
запустить на этом порту мошеннический демон SSH, собирающий пароли от
всем, кто подключается.Поскольку наиболее распространенные серверные приложения прослушивают зарезервированные
портов, их сканирование часто оказывается наиболее полезным.

Диапазон временных портов — это еще один класс портов.
Этот бассейн
Количество портов предоставляется системой для распределения по мере необходимости. Когда
приложение указывает нулевой порт (что означает «любой порт»), система выбирает
порт из этого диапазона. Диапазон зависит от операционной системы и составляет
обычно настраивается. Он должен содержать как минимум пару
тысячи портов, чтобы избежать их исчерпания при большом количестве одновременных подключений.
открыто.Сканирование соединения Nmap может использовать сотни за один раз.
время, поскольку он сканирует каждый указанный порт на каждой целевой машине. На
Linux, вы можете просмотреть или установить диапазон, используя файл
/ proc / sys / net / ipv4 / ip_local_port_range . Пример 4.1 показывает, что на моем
В системе Linux диапазон составляет от 32 768 до 61 000. Такой большой ассортимент
должно быть достаточно почти во всех случаях, но я расширяю его только до
продемонстрируйте, как это сделать.

Пример 4.1. Просмотр и увеличение временного диапазона портов в Linux

 felix / #   cat / proc / sys / net / ipv4 / ip_local_port_range  
32768 61000
felix / #   echo "10000 65000"> / proc / sys / net / ipv4 / ip_local_port_range  
felix / #   cat / proc / sys / net / ipv4 / ip_local_port_range  
10000 65000
Феликс/#
 

Порты SunRPC часто находятся в временном диапазоне.Другой
приложения временно открывают временные порты для передачи файлов или
другое событие. FTP-клиенты часто делают это при запросе активного режима
перевод. Некоторые клиенты P2P и обмена мгновенными сообщениями делают это как
хорошо.

IANA
имеет собственную схему классификации портов, которая
отличается
немного от жаргона этой книги. Их авторитетный список портов
на http://www.iana.org/assignments/port-numbers
делит пространство на следующие три класса:

общеизвестные порты

Это зарезервированные порты (в диапазоне от 1 до 1023,
как обсуждалось выше), которые были зарегистрированы в IANA для
определенная услуга.Знакомыми примерами являются порты 22, 25 и 80 для
обслуживает SSH, SMTP и HTTP соответственно.

зарегистрированные порты

Эти порты находятся в диапазоне от 1024 до 49151
и были зарегистрированы в IANA таким же образом,
известные порты есть. Большинство из них не так часто используются, как
известные порты. Ключевое отличие состоит в том, что непривилегированные пользователи могут
привязывайтесь к этим портам и, таким образом, запускайте службы на их зарегистрированных
порт. Пользователи не могут сделать это на большинстве платформ для хорошо известных портов,
поскольку они находятся в диапазоне зарезервированных портов.

динамические и / или частные порты

IANA резервирует номера портов из 49152
по 65535 для динамического использования, например, обсуждаемых в
раздел эфемерных портов. Собственные сервисы, которые используются только
внутри компании также могут использовать эти порты.

Когда в этой книге упоминаются зарегистрированные или общеизвестные порты без
любая ссылка на IANA, обычно это означает порты, зарегистрированные в Nmap
в
нмап-сервисы
файл, независимо от того,
они попадают в диапазон зарезервированных портов.

Файл регистрации порта Nmap
( nmap-services )
содержит эмпирические данные о том, как
часто каждый порт TCP или UDP оказывается открытым. По умолчанию Nmap
сканирует 1000 самых популярных портов каждого протокола, который требуется
сканировать. Есть много вариантов для указания альтернативного набора портов.
(по частоте или путем их явного перечисления), как описано в
раздел «Выбор портов для сканирования».

Какие порты самые популярные?

Летом 2008 года я сканирую десятки миллионов Интернет-ресурсов.
размещает и собирает данные от предприятий, чтобы определить, как часто
каждый номер порта открыт.Важно знать
самые распространенные сервисные порты, а также интересно посмотреть, какие из них
сделал список. В следующих двух списках представлены основные TCP и UDP.
портов, как определено нашими эмпирическими данными сканирования. Перечисленная услуга
тот, который находится в нашем файле nmap-services . Мы пытаемся
чтобы перечислить наиболее распространенные службы для каждого порта
там, хотя, конечно, можно использовать порт для
разные вещи.

Первые 20 (наиболее часто открытых) TCP-портов

  1. Порт 80 (HTTP). Если вы даже не знаете эту службу, значит, вы читаете не ту книгу.Это составляет более 14% открытых портов, которые мы обнаружили.

  2. Порт 23 (Telnet) — Telnet продолжает работать (особенно в качестве порта администрирования на таких устройствах, как маршрутизаторы и интеллектуальные коммутаторы), даже если он небезопасен (незашифрован).

  3. Порт 443 (HTTPS) — веб-серверы с шифрованием SSL используют этот порт по умолчанию.

  4. Порт 21 (FTP) — FTP, как и Telnet, является еще одним небезопасным протоколом, который должен умереть. Даже при анонимном FTP (что позволяет избежать перехвата проверки подлинности) передача данных все еще может быть нарушена.

  5. Порт 22 (SSH) — безопасная оболочка, зашифрованная замена Telnet (и, в некоторых случаях, FTP).

  6. Порт 25 (SMTP) — простой протокол передачи почты (также небезопасный).

  7. Порт 3389 (ms-term-server) — порт администрирования служб терминалов Microsoft.

  8. Порт 110 (POP3) — протокол почтового отделения версии 3 для получения электронной почты (небезопасный).

  9. Порт 445 (Microsoft-DS) — для обмена данными SMB по IP со службами MS Windows (такими как общий доступ к файлам / принтерам).

  10. Порт 139 (NetBIOS-SSN) — служба сеансов NetBIOS для связи со службами MS Windows (например, совместное использование файлов / принтеров). Это поддерживается на компьютерах с Windows дольше, чем 445.

  11. Порт 143 (IMAP) — протокол доступа к Интернет-сообщениям версии 2. Небезопасный протокол получения электронной почты.

  12. Порт 53 (домен) — система доменных имен (DNS), небезопасная система для преобразования между именами хоста / домена и IP-адресами.

  13. Порт 135 (MSRPC) — еще один общий порт для служб MS Windows.

  14. Порт 3306 (MySQL) — для связи с базами данных MySQL.

  15. Порт 8080 (HTTP-прокси) — обычно используется для прокси-серверов HTTP или в качестве альтернативного порта для обычных веб-серверов (например, когда другой сервер уже прослушивает порт 80 или когда запущен непривилегированными пользователями UNIX, которые могут подключаться только к высокие порты).

  16. Порт 1723 (PPTP) — протокол туннелирования точка-точка (метод реализации VPN, который часто требуется для широкополосных подключений к интернет-провайдерам).

  17. Порт 111 (RPCBind) — сопоставляет номера программ SunRPC с их текущими номерами портов TCP или UDP.

  18. Порт 995 (POP3S) — POP3 с добавленным SSL для безопасности.

  19. Порт 993 (IMAPS) — IMAPv2 с SSL, добавленным для безопасности.

  20. Порт 5900 (VNC) — система совместного использования графического рабочего стола (небезопасная).

Первые 20 (наиболее часто открытых) UDP-портов

  1. Порт 631 (IPP) — протокол печати через Интернет.

  2. Порт 161 (SNMP) — простой протокол управления сетью.

  3. Порт 137 (NETBIOS-NS) — один из многих портов UDP для служб Windows, таких как общий доступ к файлам и принтерам.

  4. Порт 123 (NTP) — сетевой протокол времени.

  5. Порт 138 (NETBIOS-DGM) — еще одна служба Windows.

  6. Порт 1434 (MS-SQL-DS) — Microsoft SQL Server.

  7. Порт 445 (Microsoft-DS) — еще один порт служб Windows.

  8. Порт 135 (MSRPC) — еще один порт служб Windows.

  9. Порт 67 (DHCPS) — сервер протокола динамической конфигурации хоста (выдает IP-адреса клиентам, когда они присоединяются к сети).

  10. Порт 53 (домен) — сервер системы доменных имен (DNS).

  11. Порт 139 (NETBIOS-SSN) — еще один порт служб Windows.

  12. Порт 500 (ISAKMP) — Протокол сопоставления безопасности Интернета и управления ключами используется для настройки IPsec VPN.

  13. Порт 68 (DHCPC) — порт клиента DHCP.

  14. Порт 520 (маршрут) — протокол маршрутной информации (RIP).

  15. Порт 1900 (UPNP) — протокол Microsoft Simple Service Discovery Protocol, который позволяет обнаруживать универсальные устройства plug-and-play.

  16. Порт 4500 (nat-t-ike) — для согласования обхода преобразования сетевых адресов при инициации подключений IPsec (во время обмена ключами в Интернете).

  17. Порт 514 (системный журнал) — стандартный демон журнала UNIX.

  18. Порт 49152 (варьируется) — первый из динамических / частных портов, определенных IANA.Никакие официальные порты не могут быть зарегистрированы отсюда до конца диапазона портов (65536). Некоторые системы используют этот диапазон для своих эфемерных портов, поэтому службам, которые связывают порт без запроса конкретного номера, часто выделяется 49152, если они являются первой программой, которая это делает.

  19. Порт 162 (SNMPTrap) — порт прерывания простого протокола сетевого управления (агент SNMP обычно использует 161, а менеджер SNMP обычно использует 162).

  20. Порт 69 (TFTP) — простой протокол передачи файлов.

Сканирование портов — это удаленное тестирование множества портов на
определить, в каком состоянии они находятся. Самым интересным состоянием является
обычно открытые, что означает, что приложение прослушивает и принимает
подключения на порт. Доступно множество техник для проведения
такой скан. Глава 5, Методы и алгоритмы сканирования портов объясняет обстоятельства
каждый из которых наиболее подходит.

Хотя многие сканеры портов традиционно объединяют все порты
в открытом или закрытом состоянии Nmap гораздо более детализирован.Это
делит порты на шесть состояний. Эти состояния не являются внутренними
свойства самого порта, но опишите, как их видит Nmap. Для
Например, сканирование Nmap из той же сети, что и цель, может показать
порт 135 / tcp как открытый, а сканирование одновременно с тем же
параметры из Интернета могут показывать этот порт как отфильтрованный.

Шесть государств порта, признанных Nmap

открыть

Приложение активно принимает TCP
подключений или пакетов UDP на этом порту.Их обнаружение часто бывает
основная задача сканирования портов. Люди, заботящиеся о безопасности, знают, что
каждый открытый порт — это путь для атаки. Злоумышленники и пен-тестеры
хотят использовать открытые порты, в то время как администраторы пытаются закрыть или
защитите их с помощью брандмауэров, не препятствуя работе законных пользователей.
Открытые порты также интересны для сканирования, не связанного с безопасностью, потому что они
показать услуги, доступные для использования в сети. Прежде чем ты тоже
в восторге от открытого порта, обратите внимание, что возможно, что
приложение защищено TCP-оболочкой
(tcpd) или что само приложение
настроен для обслуживания только утвержденных IP-адресов клиентов.Такие случаи
по-прежнему оставляют больше поверхности для атаки, чем закрытые
порт.

закрытый

Закрытый порт доступен (он принимает и
отвечает на зондовые пакеты Nmap), но нет приложения
слушая его. Они могут быть полезны, показывая, что хост
онлайн и с использованием IP-адреса (обнаружение хоста или сканирование ping),
и как часть обнаружения ОС. Поскольку закрытые порты доступны,
их, возможно, стоит просканировать позже, если некоторые откроются.
Администраторы могут захотеть заблокировать такие порты с помощью
брандмауэр, чтобы они отображались в отфильтрованном состоянии, обсуждается далее.

фильтруется

Nmap не может определить, открыт ли порт
потому что фильтрация пакетов не позволяет зондам достичь порта.
Фильтрация может осуществляться с выделенного устройства межсетевого экрана, маршрутизатора.
правила или программное обеспечение межсетевого экрана на основе хоста. Эти порты расстраивают
злоумышленники, потому что они предоставляют так мало информации. Иногда
они отвечают сообщениями об ошибках ICMP, такими как код типа 3 13
(пункт назначения недоступен: административная связь
запрещено), но фильтры, которые просто сбрасывают зонды, не отвечая
гораздо более распространены.Это вынуждает Nmap повторить попытку несколько раз, просто
в случае, если зонд был сброшен из-за перегрузки сети, а не
фильтрация. Такая фильтрация резко замедляет сканирование.

нефильтрованное

Нефильтрованное состояние означает, что порт доступен,
но Nmap не может определить, открыт он или закрыт. Только
сканирование ACK, которое используется для сопоставления наборов правил брандмауэра, классифицирует
порты в это состояние. Сканирование нефильтрованных портов с помощью другого сканирования
такие типы, как сканирование окна, сканирование SYN или сканирование FIN, могут помочь решить
открыт ли порт.

open | filter

Nmap помещает порты в это состояние, когда не может
определить, открыт порт или отфильтрован. Это происходит при сканировании
типы, на которые открытые порты не отвечают. Отсутствие
ответ также может означать, что фильтр пакетов отбросил зонд или
любой ответ, который он вызвал. Таким образом, Nmap не знает наверняка,
порт открыт или фильтруется. Протокол UDP, IP,
Сканирование FIN, NULL и Xmas позволяет классифицировать порты.
способ.

закрыто | отфильтровано

Это состояние используется, когда Nmap не может определить
закрыт ли порт или отфильтрован.Используется только для IP ID.
Сканирование в режиме ожидания обсуждается в разделе «Сканирование в режиме ожидания TCP ( -sI )».

Хотя Nmap пытается получить точные результаты, имейте в виду
что все его идеи основаны на пакетах, возвращаемых целью
машины (или межсетевые экраны перед ними). Такие хосты могут быть
ненадежны и отправляют ответы, направленные на то, чтобы запутать или ввести Nmap в заблуждение.
Гораздо чаще встречаются хосты, не соответствующие RFC, которые не отвечают как
они должны пробовать Nmap. Сканы FIN, NULL и Xmas
особенно подвержены этой проблеме.Такие проблемы характерны для
определенные типы сканирования и так
обсуждается в соответствующих разделах главы 5, Методы и алгоритмы сканирования портов .

Порт
сканирование выполняется не только для развлечения и развлечения. Есть множество
практические преимущества регулярного сканирования ваших сетей. Самый главный
среди них безопасность. Один из центральных постулатов сети
безопасность заключается в том, что уменьшение количества и сложности услуг
Предлагаемый уменьшает возможность взлома злоумышленников.Самый удаленный
компрометация сети происходит из-за использования серверного приложения
прослушивание порта TCP или UDP. Во многих случаях эксплуатируемые
приложение даже не используется целевой организацией, но было
включен по умолчанию при настройке машины. Если бы эта услуга была
отключен или защищен брандмауэром, атака была бы
сорвано.

Понимая, что каждый открытый порт — это возможность для компромисса,
злоумышленники регулярно сканируют цели, проводя инвентаризацию всех открытых
порты.Они сравнивают этот список сервисов прослушивания со своим списком
любимых эксплойтов для уязвимого ПО. Достаточно одного матча
поставить под угрозу машину, создав точку опоры, которая часто используется для
заражать всю сеть. Злоумышленники, которые менее разборчивы
на кого они нацелены, часто будет сканировать только порт по умолчанию
эксплуатируемое приложение. Это намного быстрее, чем сканировать каждый
порт, хотя служба будет пропущена при работе с нестандартным
порт. Такие злоумышленники часто высмеиваются как «сценаристы».
детишки », потому что они часто знают немного больше о безопасности
чем как запустить сценарий эксплойта, написанный кем-то более опытным.Во многих организациях такие злоумышленники обязательно найдут уязвимые
хосты. Они могут доставлять неудобства, хотя их огромное количество и
безжалостные нападения на машины, доступные в Интернете, часто приводят к
люди, чтобы быстро исправлять системы. Это снижает вероятность большего
серьезные, целевые атаки успешны.

Важной защитой от этих взломщиков являются системы
администраторы должны регулярно сканировать свои собственные сети с помощью таких инструментов, как
Nmap. Возьмите список открытых портов и отключите все службы, которые
не используются.Убедитесь, что те, которые должны оставаться доступными, полностью
исправлены и что вы находитесь в списке уведомлений о безопасности поставщика.
По возможности следует добавлять правила брандмауэра, ограничивая доступ только
законные пользователи. Инструкции по усилению защиты доступны в Интернете для
самые популярные приложения, уменьшающие возможности взломщика даже
способствовать. Nmap не может сделать большую часть этого за вас, но он создает список
доступных услуг для начала. Некоторые администраторы пытаются
вместо этого используйте netstat , но это плохо масштабируется.Требуется доступ
к каждой машине, а некоторые мобильные машины легко пропустить. Плюс,
вы не можете запустить netstat на средней беспроводной точке доступа, VoIP
телефон или принтер.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *