ГлавнаяОперационные системыLinuxРасширенное использование Nmap

Расширенное использование Nmap

ГлавнаяСеть-основнаяВслед за первая часть из этой серии пришло время взглянуть на некоторые более продвинутые функции nmap. Начиная с базового сканирования портов, можно получить дополнительную информацию о сканировании, добавив флаг -vv:

nmap -vv 192.168.1.101

Вывод будет выглядеть примерно так:

Nmap-vv

В первой части мы рассмотрели, как сканировать диапазон адресов. Есть еще один способ выполнить сканирование, но на этот раз с указанием количества бит маски подсети:

nmap 192.168.1.1/24

Приведенная выше команда просканирует все хосты от 192.168.1.0 до 192.168.1.255 в сети с маской подсети 255.255.255.0. Хотя возможны и более крупные маски подсети (например, 255.255.0.0 – /16), это приведет к тому, что nmapбудет сканировать большое количество хостов, и этого, скорее всего, следует избегать.

Чтобы nmapсоздал список хостов, которые он будет сканировать, используйте флаг -sL:

nmap -sL 192.168.1.1/24

В этом случае вывод будет списком адресов (по одному в строке), начиная с 192.168.1.0 и заканчивая 192.168.1.255.

Если в вашей сети есть узлы, которые возражают против сканирования (например, серверы с установленными системами обнаружения вторжений или определенными типами брандмауэров), вы можете указать nmapпропустить определенный адрес, используя команду Флаг -exclude. В следующем примере будут сканироваться все хосты от.0 до.255, но не 192.168.1.4:

nmap 192.168.1.1/24 -exclude 192.168.1.4

Скрытность

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

Но если nmapвызывается из учетной записи root или с использованием sudo, по умолчанию используется другой тип сканирования, известный как полуоткрытое сканирование. В этом сценарии nmapсам создает TCP-пакеты низкого уровня (вместо того, чтобы использовать базовую операционную систему для этого от своего имени), и когда он получает SYN-ACK, он не отвечает сообщением ACK и так полноценное соединение не устанавливается. Но поскольку хост ответил SYN-ACK, это означает, что порт открыт и доступен для полного соединения. Преимущество полуоткрытого сканирования заключается в том, что оно выполняется быстрее и не заставляет серверное программное обеспечение, прослушивающее порт, регистрировать соединение.

Вы можете гарантировать, что используется полуоткрытое сканирование, используя флаг -sS. В сочетании с -vvвы увидите, что nmapсообщает об использовании «SYN Stealth Scan» для проверки хоста. Вот полная команда:

sudo nmap -sS -vv 192.168.1.101

nmap-sS

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

Все сверкало, как рождественская елка

Есть еще один тип сканирования, о котором стоит упомянуть, — это сканирование NULL и его друзья — сканирование FIN и сканирование Xmas. В стандарте TCP есть небольшой раздел, который сообщает реализации TCP, что делать, если она получает пакет с неправильными флагами. Практический результат этой «петли» заключается в том, что любые пакеты, не содержащие биты SYN, RST или ACK, приведут к возврату пакета RST, если порт закрыт, и к полному отсутствию ответа, если порт открыт. nmapможет использовать это в своих целях, отправляя неверные пакеты и ожидая ответа.

Сканирование NULL, которое вызывается с помощью -sN, не устанавливает никаких битов в заголовке пакета. Сканирование FIN, -sF, устанавливает бит TCP FIN, а сканирование Xmas, -sX, устанавливает флаги FIN, PSH и URG. Это называется Рождественским сканированием, поскольку теперь пакет сверкает, как рождественская елка!

Если хост отвечает пакетом RST, то порт закрыт, ничего и порт открыт.

Заключение

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

sudo nmap -PR -vv 192.168.1.1/24

Флаг -PRзаставит nmapзапросить MAC-адрес хоста (с использованием ARP) и пометит хост как живой, если он получит ответ.

ПОХОЖИЕ СТАТЬИ

Популярные записи