- Требование
- Что такое сетевой порт
- Общие порты Linux
- Nmap Сканирование портов
- Nmap Сканирование указанного IP или хоста
- Nmap Сканирование нескольких IP-адресов в Nmap
- Nmap Сканирование диапазона IP
- Ping-сканирование IP-адресов в подсети в Nmap Linux
- Nmap сканирование IP-адресов из текстового файла
- Сканирование определенного порта на данном IP-адресе
- Сканирование диапазона портов на данном IP-адресе
- Сканирование портов для наиболее распространенных портов
- Сканирование всех портов на данном IP-адресе
- Сканирование TCP-портов
- Сканирование портов UDP
- Проверка операционной системы хоста
- Сканирование самых популярных портов
- Быстрое сканирование с помощью Nmap
- Скриптовый движок Nmap
- Заключение
Сеть является одним из самых сложных и чувствительных компонентов ИТ-инфраструктуры. Системные администраторы должны понимать различные уровни, интерфейсы, протоколы, инструменты и порты, чтобы эффективно управлять сетевым взаимодействием. Для обеспечения безопасной связи необходимо использовать правильные порты.
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
В отчете о сканировании 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 отображается для нескольких целей.
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
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
Сканирование самых популярных портов
Используйте опцию —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.
В следующем примере показано, как использовать скрипт vuln для проверки уязвимости системы:
sudo nmap -Pn --script vuln 127.0.0.1
Заключение
В этой статье мы показали, как использовать Nmap для сканирования портов на вашем компьютере Linux. Примеры в этом руководстве охватывают наиболее распространенные случаи использования Nmap и помогут вам лучше понять параметры Nmap. Сканирование Nmap помогает системным администраторам оценивать и отлаживать ошибки безопасности.