
Сеть является одним из самых сложных и чувствительных компонентов ИТ-инфраструктуры. Системные администраторы должны понимать как работает сеть какие есть уровни взаимодействия, интерфейсы, протоколы, инструменты и порты, чтобы эффективно управлять сетевой инфраструктурой. Для обеспечения бесперебойной работы сервисов и безопасного обмена данными между ними необходимо использовать правильные настроенные порты.
Nmap – это инструмент командной строки с открытым исходным кодом для сканирования портов, аудита сетевой безопасности, обнаружения хостов и служб и получения списка открытых портов. Он был запущен как инструмент Linux, а затем включен в Windows, macOS и BSD.
В этой статье мы расскажем, как использовать Nmap для сканирования открытых портов.
Требование
- Рабочая операционная система Linux.
- Терминальный доступ.
- Sudo или привилегии пользователя root.
Что такое сетевой порт
Сетевой порт – это логическая конечная точка для сетевого взаимодействия. Также это нумерованный адрес для управления сетевым трафиком. Различные компоненты или службы используют разные порты, и наиболее часто используемыми сетевыми портами являются порты TCP / IP и UDP. Вы можете запускать несколько служб на одном IP-адресе, но каждой из этих служб нужен отдельный порт для прослушивания запросов и связи.
Общие порты Linux
При установке операционной системы Linux и настройке различных служб некоторые порты автоматически назначаются этим службам. Номера портов варьируются от 1 до 65536. Порты ниже 1024 обычно зарезервированы для важных и критических сетевых функций и служб.
В следующей таблице перечислены некоторые из наиболее распространенных портов Linux:
Номер порта Использование
20 Для данных FTP.
21 Для управления FTP.
22 Для SSH.
25 Для SMTP для отправки электронной почты.
53 Для DNS.
80 Для веб-сервера HTTP.
110 Для POP3 для получения электронной почты.
123 Для NTP.
143 Для электронной почты IMAP.
443 Для защищенного веб-сервера HTTPS.
465 Для SMTP для отправки защищенных писем.
631 Для сервера печати CUPS.
993 Для безопасной электронной почты IMPAS.
В данный момент времени компьютер Linux имеет несколько открытых портов, на которых службы прослушивают соединения.
Вы можете использовать любую из следующих команд для отображения списка открытых портов в Linux:
sudo lsof -i -P -n | grep LISTEN
sudo netstat -tulpn | grep LISTEN
sudo ss -tulpn | grep LISTEN
Nmap Сканирование портов
Nmap – это утилита командной строки Linux, которая используется для сканирования и сопоставления портов. Сканер Nmap может отображать множество сведений о хосте Linux.
Nmap или Network Mapper Tool не устанавливается по умолчанию в большинстве дистрибутивов Linux.
Установка Nmap с помощью Distro specific package Manager очень проста и понятна.
Чтобы сэкономить время, Nmap по умолчанию сканирует только самые популярные 1000 портов. Для всех портов нам нужно добавить опцию о который мы узнаем в следующем разделе.
В следующих примерах команд показаны некоторые из наиболее часто используемых команд для сканирования портов с помощью команд nmap:
Nmap Сканирование указанного IP или хоста
Введите nmap, а затем IP для сканирования определенного IP:
sudo nmap 192.168.0.1
Сканирование указанного IP или хоста
В отчете о сканировании Nmap отображаются состояние хоста и задержка.
Аналогично этому, вы можете указать имя хоста для сканирования хоста:
sudo nmap example.com
Nmap Сканирование нескольких IP-адресов в Nmap
Для сканирования нескольких целей после команды nmap, введите список IP-адресов, разделенных пробелом:
sudo nmap 192.168.0.1 192.168.0.2 192.168.0.3
Отчет о сканировании nmap отображается для нескольких целей.
Сканирование нескольких IP-адресов в Nmap
Nmap Сканирование диапазона IP
Вы можете указать диапазон IP-адресов после команды nmap вместо одного IP-адреса или нескольких целей для сканирования диапазона IP-адресов введите:
sudo nmap 192.168.200.1-10
В этом случае IP-адреса от 192.168.200.1 до 190.168.200.10 сканируются и создается отчет.
Ping-сканирование IP-адресов в подсети в Nmap Linux
Вы можете запустить nmap в подсети, чтобы выполнить сканирование ping, чтобы получить список живых хостов в подсети:
sudo nmap 192.168.200.1/24
Ping-сканирование IP-адресов в подсети с помощью Nmap
Nmap сканирование IP-адресов из текстового файла
Вы можете создать список IP-адресов в текстовом файле и указать файл для сканирования целевых IP-адресов из файла:
sudo nmap -iL users.txt
Сканирование определенного порта на данном IP-адресе
Используйте параметр -p, за которым следует номер порта, для сканирования определенного порта или нескольких портов (через запятую).
В следующем примере nmap сканирует порт 22 на хосте 192.168.200.1
sudo nmap -p 22 192.168.200.1
Для сканирования нескольких портов введите:
sudo nmap -p 80,22 192.168.200.1
Сканирование диапазона портов на данном IP-адресе
Укажите диапазон портов, за которым следует IP-адрес. Для сканирования заданного диапазона портов на указанном IP-адресе хоста используйте команду:
sudo nmap -p 1-100 192.168.200.2
Сканирование портов для наиболее распространенных портов
Используйте опцию -F с nmap, чтобы перечислить общие порты на указанном IP-адресе хоста:
sudo nmap -F 192.168.200.1
Сканирование всех портов на данном IP-адресе
Используйте опцию -p- с nmap, чтобы перечислить все порты на данном IP-адресе хоста:
sudo nmap -p- 192.168.200.1
Также вы можете использовать опцию -p «*» для сканирования всех портов TCP и UDP 65535.
sudo nmap -p «*» 192.168.0.100
Сканирование TCP-портов
Используйте опцию -sT для выполнения сканирования TCP-портов на IP-адресе хоста:
sudo nmap -sT 192.168.200.1
Сканирование портов UDP
Nmap может работать с портами TCP и с портами UDP. Используйте опцию -sU для сканирования портов UDP на IP-адресе хоста:
sudo nmap -sU 192.168.200.1
Проверка операционной системы хоста
Используйте опцию -O для идентификации операционной системы указанного IP-адреса хоста.
Следующая команда nmap дает вам информацию об операционных системах на компьютере с IP-адресом 192.168.10.1.
sudo nmap -O 192.168.10.1
Проверка операционной системы хоста с помощью сканера Nmap
Сканирование самых популярных портов
Используйте опцию –top-ports для сканирования объекта на наличие открытых портов. Вы можете указать количество портов, которые вы хотите сканировать.
Следующий пример для сканирования 100 лучших (из 65 536 возможных) открытых портов для протокола TCP для целевого объекта:
sudo nmap —top-ports 100 target
Чтобы добавить протокол UDP, введите:
sudo nmap -sTU —top-ports
Быстрое сканирование с помощью Nmap
Вы можете использовать шаблоны времени, чтобы указать Nmap выполнить быстрое сканирование. Nmap поддерживает пять уровней шаблонов времени – T0 (параноидальный), T1 (подлый), T2 (вежливый), T3 (нормальный), T4 (агрессивный) и T5 (безумный).
В следующем примере выполняется безумно быстрое сканирование портов Nmap:
sudo nmap -T5 example.com
Следующий вывод nmap показывает разницу во времени в двух интерфейсах командной строки.
Быстрое сканирование с помощью Nmap
Скриптовый движок Nmap
Вы можете использовать механизм сценариев nmap для выполнения сканирования портов с помощью заранее определенных сценариев или создавать собственные сценарии. Это помогает системным администраторам автоматизировать сканирование портов с помощью nmap.
В следующем примере показано, как использовать скрипт vuln для проверки уязвимости системы:
sudo nmap -Pn —script vuln 127.0.0.1
Скриптовый движок Nmap
Заключение
В этой статье мы показали, как использовать Nmap для сканирования портов на вашем компьютере Linux. Примеры в этом руководстве охватывают наиболее распространенные случаи использования Nmap и помогут вам лучше понять параметры Nmap. Сканирование Nmap помогает системным администраторам оценивать и отлаживать ошибки безопасности.