Введение
В этом лабораторном практикуме вы научитесь проводить различные сканирования портов с помощью Nmap, мощного инструмента для сетевого сканирования. Вы изучите различные типы сканирования, включая сканирование TCP connect, SYN-сканирование и методы сканирования определенных портов, диапазонов портов и наиболее распространенных "верхних портов". К концу этого практикума вы получите практическое понимание того, как использовать Nmap для обнаружения открытых портов и служб на целевой системе, что является фундаментальным навыком в области сетевой разведки и аудита безопасности.
Каждый тип сканирования обладает уникальными характеристиками и областями применения. Например, сканирование TCP connect завершает полный трехэтапный рукопожатие TCP, что делает его надежным, но легко обнаруживаемым. В отличие от этого, SYN-сканирование более скрытное, так как не завершает рукопожатие. Вы будете выполнять команды Nmap в терминале Xfce и анализировать вывод, чтобы понять состояние различных портов.
Выполнение TCP Connect-сканирования с помощью nmap -sT 127.0.0.1
На этом шаге вы выполните сканирование TCP connect с помощью Nmap. Это базовый и надежный метод сканирования TCP, который завершает полное трехэтапное рукопожатие TCP для установления соединения с целевым портом. Несмотря на надежность, этот метод менее скрытный, чем другие типы сканирования, поскольку он полностью устанавливает и затем разрывает соединение, что может быть легко залогировано целевой системой.
Давайте кратко рассмотрим трехэтапное рукопожатие TCP:
- SYN (Синхронизация): Сканер отправляет пакет SYN на целевой порт.
- SYN/ACK (Синхронизация/Подтверждение): Если порт открыт, целевая система отвечает пакетом SYN/ACK.
- ACK (Подтверждение): Сканер завершает соединение, отправив пакет ACK обратно целевой системе.
Опция -sT в Nmap явно выполняет это полное сканирование TCP connect. Поскольку оно завершает TCP-соединение, оно не требует привилегий root, но мы будем использовать sudo для согласованности с последующими шагами, которые это требуют.
Теперь давайте выполним сканирование TCP connect на 127.0.0.1 (локальный хост). Этот IP-адрес всегда относится к вашему собственному компьютеру, что делает его безопасной целью для практики.
Откройте терминал Xfce. Вы должны находиться в домашнем каталоге
~/project.Выполните следующую команду для выполнения сканирования TCP connect:
sudo nmap -sT 127.0.0.1Эта команда указывает Nmap выполнить сканирование TCP connect (
-sT) по IP-адресу127.0.0.1. Пользовательlabexимеет привилегииsudoбез пароля, поэтому вы можете просто нажатьEnter, если вас об этом спросят.Наблюдайте за выводом в терминале. Вы увидите список общих портов и их состояния на вашем локальном компьютере. Вывод будет похож на этот:
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST Nmap scan report for localhost (127.0.0.1) Host is up (0.000052s latency). Not shown: 995 closed ports PORT STATE SERVICE 22/tcp open ssh 2121/tcp open ccproxy-ftp 2222/tcp open EtherNetIP-1 3001/tcp open nessus 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 0.04 secondsВывод показывает номер порта, его состояние и службу, которую Nmap ассоциирует с этим портом.
openозначает, что Nmap успешно установил TCP-соединение с этим портом.closedозначает, что Nmap получил пакет TCP RST (Reset) в ответ на свой пакет SYN, что указывает на то, что порт не прослушивает соединения.- Обратите внимание, что порты
22,2121,2222,3001и8080являютсяopen. Пользовательские службы (2121, 2222, 8080) были настроены средой лаборатории, наряду с SSH на порту 22 и другой службой на порту 3001.
Выполнение SYN-сканирования с помощью nmap -sS 127.0.0.1
На этом шаге вы узнаете, как выполнить SYN-сканирование, также известное как "полуоткрытое" сканирование. Этот метод, как правило, более скрытный, чем сканирование TCP connect, поскольку он не завершает полное трехэтапное рукопожатие TCP, что снижает вероятность его регистрации приложениями целевой системы.
Вот как работает SYN-сканирование:
- SYN (Синхронизация): Сканер отправляет пакет SYN на целевой порт.
- SYN/ACK (Синхронизация/Подтверждение): Если порт открыт, целевая система отвечает пакетом SYN/ACK.
- RST (Сброс): Вместо отправки ACK для завершения соединения, сканер немедленно отправляет пакет RST, чтобы прервать соединение.
Поскольку полное TCP-соединение никогда не устанавливается, SYN-сканирование менее навязчиво и часто обходит более простые правила брандмауэра, которые отслеживают только завершенные соединения. Однако SYN-сканирование, как правило, требует привилегий root для создания сырых пакетов, поэтому мы будем использовать sudo.
Теперь давайте выполним SYN-сканирование на 127.0.0.1.
Убедитесь, что вы находитесь в терминале Xfce.
Выполните следующую команду:
sudo nmap -sS 127.0.0.1Эта команда указывает Nmap выполнить SYN-сканирование (
-sS) по IP-адресу127.0.0.1. НажмитеEnter, если вас попросят ввести пароль.Наблюдайте за выводом. Вывод будет похож на вывод сканирования TCP connect, но лежащий в основе механизм отличается.
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST Nmap scan report for localhost (127.0.0.1) Host is up (0.0000040s latency). Not shown: 995 closed ports PORT STATE SERVICE 22/tcp open ssh 2121/tcp open ccproxy-ftp 2222/tcp open EtherNetIP-1 3001/tcp open nessus 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 0.10 secondsСтолбец
STATEуказывает статус каждого порта.openозначает, что Nmap получил пакет SYN/ACK в ответ на свой пакет SYN.closedозначает, что Nmap получил пакет RST.filtered(которое вы можете увидеть в других сценариях) означает, что Nmap не смог определить, открыт порт или закрыт, потому что сетевое фильтрование (например, брандмауэр) препятствует доступу Nmap к порту.
Сканирование определенных портов с помощью nmap -p 2222,8080,2121 127.0.0.1
На этом шаге вы узнаете, как сканировать определенные порты на целевой системе с помощью Nmap. Это особенно полезно, когда вы хотите сфокусировать сканирование на конкретных службах или приложениях, которые, по вашему предположению, могут работать на целевом компьютере, вместо сканирования всех общих портов.
Опция -p в Nmap позволяет указать точные порты, которые вы хотите отсканировать. Вы можете указать отдельные порты, разделенные запятыми, диапазон портов или комбинацию обоих. В данном случае мы будем сканировать порты 2222, 8080 и 2121 на 127.0.0.1. Это пользовательские TCP-службы, которые были настроены скриптом инициализации среды лаборатории.
- Порт
2222настроен для работы службы SSH. - Порт
8080настроен для работы веб-сервера Nginx. - Порт
2121настроен для работы службы FTP.
Убедитесь, что вы находитесь в терминале Xfce.
Выполните следующую команду:
sudo nmap -p 2222,8080,2121 127.0.0.1Эта команда указывает Nmap сканировать только порты
2222,8080и2121(-p 2222,8080,2121) на IP-адресе127.0.0.1. Nmap будет использовать метод SYN-сканирования по умолчанию, так как используетсяsudo. НажмитеEnter, если вас попросят ввести пароль.Наблюдайте за выводом. Вы должны увидеть, что все три указанных порта отображаются как
open.Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST Nmap scan report for localhost (127.0.0.1) Host is up (0.000028s latency). PORT STATE SERVICE 2121/tcp open ccproxy-ftp 2222/tcp open EtherNetIP-1 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 0.10 secondsВывод подтверждает статус указанных портов.
openозначает, что Nmap получил пакет SYN/ACK, что указывает на то, что порт активно прослушивает подключения.
Сканирование диапазона портов с помощью nmap -p 1-9000 127.0.0.1
На этом шаге вы узнаете, как сканировать диапазон портов на целевой системе с помощью Nmap. Это полезно, когда вы хотите определить все открытые порты в определенном числовом диапазоне, что может помочь обнаружить службы, работающие на нестандартных портах.
Как вы узнали на предыдущем шаге, опция -p в Nmap позволяет указать порты. Для сканирования диапазона портов используется синтаксис start-end, где start — начальный номер порта, а end — конечный номер порта. В данном случае мы будем сканировать порты с 1 по 9000 на 127.0.0.1. Этот диапазон выбран для включения пользовательских служб (2121, 2222, 8080), настроенных в вашей лабораторной среде.
Убедитесь, что вы находитесь в терминале Xfce.
Выполните следующую команду:
sudo nmap -p 1-9000 127.0.0.1Эта команда указывает Nmap сканировать порты с
1по9000(-p 1-9000) на IP-адресе127.0.0.1. Nmap будет использовать метод SYN-сканирования по умолчанию. НажмитеEnter, если вас попросят ввести пароль.Наблюдайте за выводом. Вы увидите список всех открытых портов в указанном диапазоне. Это может занять немного больше времени, чем сканирование отдельных портов, из-за большего количества проверяемых портов.
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST Nmap scan report for localhost (127.0.0.1) Host is up (0.0000020s latency). Not shown: 8992 closed ports PORT STATE SERVICE 22/tcp open ssh 953/tcp open rndc 2121/tcp open ccproxy-ftp 2222/tcp open EtherNetIP-1 3001/tcp open nessus 3002/tcp open exlm-agent 5353/tcp open mdns 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 0.16 secondsВывод показывает статус портов в диапазоне
1-9000на вашем локальном компьютере. Вы должны увидеть пользовательские порты (2121, 2222, 8080), перечисленные какopen, а также другие работающие службы, такие как SSH (22), службы, связанные с DNS (953, 5353), и дополнительные службы (3001, 3002).Not shown: 8992 closed portsуказывает, что Nmap по умолчанию отображает только портыopenилиfilteredпри сканировании большого диапазона.
Сканирование 10 самых популярных портов с помощью nmap --top-ports 10 127.0.0.1
В этом шаге вы узнаете, как сканировать наиболее распространённые порты на целевой системе с помощью опции --top-ports в Nmap. Это полезно для быстрого определения наиболее вероятных служб, работающих на хосте, без сканирования всех 65535 возможных портов. Nmap поддерживает внутренний список наиболее часто используемых портов, составленный на основе статистических данных.
Опция --top-ports указывает Nmap на сканирование указанного количества наиболее распространённых портов. Например, --top-ports 10 будет сканировать 10 наиболее распространённых TCP-портов.
В данном случае мы будем сканировать 10 наиболее распространённых портов на 127.0.0.1.
Убедитесь, что вы находитесь в терминале Xfce.
Выполните следующую команду:
sudo nmap --top-ports 10 127.0.0.1Эта команда указывает Nmap на сканирование 10 наиболее распространённых портов (
--top-ports 10) на IP-адресе127.0.0.1. Nmap будет использовать метод SYN-сканирования по умолчанию. НажмитеEnter, если вас попросят ввести пароль.Наблюдайте за выводом. Вы увидите статус 10 наиболее распространённых портов на вашем локальном компьютере.
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST Nmap scan report for localhost (127.0.0.1) Host is up (0.000010s latency). PORT STATE SERVICE 21/tcp closed ftp 22/tcp open ssh 23/tcp closed telnet 25/tcp closed smtp 80/tcp closed http 110/tcp closed pop3 139/tcp closed netbios-ssn 443/tcp closed https 445/tcp closed microsoft-ds 3389/tcp closed ms-wbt-server Nmap done: 1 IP address (1 host up) scanned in 0.09 secondsВывод показывает статус 10 наиболее распространённых портов. Вы можете заметить, что некоторые пользовательские порты (например, 8080, 2121, 2222) отсутствуют в этом списке, так как они не входят в число абсолютно наиболее распространённых портов в глобальном масштабе, а скорее специфичны для нашей лабораторной среды. Это демонстрирует, что, хотя
--top-portsэффективен, он может пропустить менее распространённые, но всё же важные службы.
Резюме
В этой лабораторной работе вы изучили различные сканирования портов с помощью Nmap. Вы выполнили сканирование TCP connect с опцией -sT на 127.0.0.1, изучив полный трёхэтапный процесс TCP-соединения. Вы также выполнили SYN-сканирование с -sS на 127.0.0.1, которое является более скрытым полуоткрытым сканированием. Вы практиковались в сканировании определённых портов с помощью -p 2222,8080,2121 и более широкого диапазона портов с -p 1-9000 на 127.0.0.1. Наконец, вы научились эффективно сканировать наиболее распространённые порты с помощью --top-ports 10 на 127.0.0.1. Благодаря этим практическим упражнениям вы получили практический опыт в интерпретации вывода Nmap и понимании различных типов сканирования для разведки сети.



