2 min read

Сканирование портов и сетевая диагностика в Linux

Сканирование портов и сетевая диагностика в Linux

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

Telnet

Простейший способ проверить, открыт ли порт:

telnet [адрес] [порт]

Если соединение установилось — порт открыт и сервис слушает. Если сразу закрылось или висит — порт закрыт или файрвол режет трафик.

Netcat

Более гибкий инструмент для работы с TCP/UDP. Установка:

sudo apt install netcat

Проверка порта:

nc -vz [адрес] [порт]

Флаг -v — подробный вывод, -z — только проверить соединение, не передавать данные.

Nmap

Nmap — основной инструмент для сканирования портов. Умеет намного больше, чем просто проверить один порт.

Установка:

sudo apt install nmap

Базовое сканирование

Один порт:

nmap -p 80 192.168.0.101

Диапазон портов:

nmap -p 80-1000 192.168.0.101

Все порты:

nmap -p "*" 192.168.0.101

Пример вывода для типичного сервера:

Starting Nmap 4.20 at 2009-11-01 12:42 MST
Interesting ports on server.com (192.168.20.35):
Not shown: 1691 closed ports
PORT   STATE SERVICE
25/tcp open  smtp
80/tcp open  http

TCP и UDP

Сканирование TCP:

nmap -sT 192.168.0.101

UDP:

nmap -sU 192.168.0.101

Комбинированное — конкретные TCP и UDP порты одновременно:

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

Стелс-сканирование

Отправляет SYN-пакет, но не завершает handshake — меньше следов в логах:

nmap -sS 192.168.0.101

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

Анализирует характеристики TCP/IP-стека и пытается определить операционную систему:

sudo nmap -sV -O 192.168.0.101

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

Найти все активные хосты в сети:

nmap -sn 192.168.1.0/24

Несколько адресов сразу:

nmap 192.168.0.101 192.168.0.102 192.168.0.107

Или короче:

nmap 192.168.0.101,102,107

Список хостов из файла:

nmap -iL hosts.txt

Исключение хостов

nmap 192.168.1.0/24 --exclude 192.168.1.1
nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3
nmap 192.168.1.0/24 --excludefile exclude.txt

Сохранение результатов

nmap -oN results.txt 192.168.0.101

ss — анализ сетевых соединений

ss входит в пакет iproute2 и заменяет устаревший netstat. Работает быстрее, показывает больше деталей.

Все TCP-соединения с подробностями и именами процессов:

ss -ntap

Все соединения на порту 80:

ss -at '( sport = :80 )'

Удобно для быстрой проверки — что слушает, какой процесс держит порт, есть ли подозрительные соединения.


Если хочешь обсудить похожую задачу — пиши на [email protected] или заходи на 1it.pro.

Связаться с нами
Telegram
WhatsApp
Email