
Цель урока: Расширить и углубить наши знания в области сетевой диагностики. Мы снова вернемся к команде ss, но рассмотрим ее более продвинутые опции. Познакомимся с ее "предшественником" netstat (который все еще широко используется), освоим dig - профессиональный инструмент для диагностики DNS, и кратко упомянем его альтернативы.
Часть 1: ss - наш швейцарский нож для сокетов
Мы уже знакомы с командой ss -tulpn для просмотра слушающих портов. Но ss (socket statistics) умеет гораздо больше. Его главная сила - в умении показывать установленные соединения.
1. Просмотр всех установленных TCP-соединений
Эта команда покажет, кто прямо сейчас подключен к вашему серверу (или куда подключен сам сервер).
# -t (tcp), -a (all), -n (numeric)
ss -tan
Примерный вывод (может отличаться):
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 81.30.105.101:22 192.168.1.50:54321
-
State: ESTAB: Состояние "установлено" (ESTABLISHED).
-
Local Address:Port: Ваш IP-адрес и порт (81.30.105.101:22).
-
Peer Address:Port: IP-адрес и порт клиента (192.168.1.50:54321).

2. Фильтрация соединений
ss имеет мощный встроенный механизм фильтрации. Синтаксис этих фильтров может немного отличаться в разных версиях, но основные принципы одинаковы.
# Показать все TCP-соединения (в любом состоянии) к нашему порту 22 (SSH)
# dport - destination port (порт назначения)
ss -tan 'dport = :22'
# Иногда используется sport (source port), если мы смотрим на исходящие соединения
# ss -tan 'sport = :22'
-
Важное замечание: dport (порт назначения) и sport (порт источника) - это ключевые слова для фильтрации. Когда к вашему серверу подключаются на порт 22, для этого соединения порт 22 является портом назначения.
Часть 2: netstat - старая гвардия
netstat (network statistics) - это классическая утилита, которая десятилетиями была основным инструментом администраторов.
Важный нюанс: Во многих современных дистрибутивах (особенно в минимальных установках) netstat не установлен по умолчанию, так как его полностью заменяет более производительная утилита ss. Чтобы установить netstat, вам понадобится пакет net-tools.
apt update && apt install net-tools
Ключи netstat очень похожи на ss:
-
Аналог ss -tulpn (слушающие порты): netstat -tulpn
-
Аналог ss -tan (все TCP-соединения): netstat -tan
Знать netstat полезно, так как вы можете столкнуться с ним на старых системах. Но для новой работы всегда предпочитайте ss.
Часть 3: dig - профессиональный инструмент для DNS
Когда вам нужно глубоко разобраться, как доменное имя (например, google.com) преобразуется в IP-адрес, профессионалы используют dig (Domain Information Groper).
Установка dig:
dig входит в пакет dnsutils (на Debian/Ubuntu) или bind-utils (на CentOS/RHEL).
apt update
apt install dnsutils
1. Простой запрос (получение A-записи)
dig google.com
-
ANSWER SECTION: Самая важная часть - ответ.
google.com. 57 IN A 142.250.74.174 - здесь мы видим искомый IP-адрес. -
SERVER: Какой DNS-сервер ответил на наш запрос.

2. Запрос конкретного типа записи
-
MX (Mail Exchanger): Почтовые серверы.
dig google.com MX -
NS (Name Server): Авторитетные DNS-серверы.
dig google.com NS -
ANY: Запросить "все" доступные записи.
dig google.com ANYВажное замечание: Из соображений безопасности и для снижения нагрузки, большинство современных публичных DNS-серверов ограничивают или неполно отвечают на запросы типа ANY. Не удивляйтесь, если результат этой команды будет урезанным или пустым.
3. Короткий ответ (+short)
Идеально для скриптов, когда нужен только сам результат.
# Мгновенно получить IP-адрес
dig google.com +short
4. Запрос у конкретного DNS-сервера
Это незаменимый инструмент для диагностики.
# "Спросить" у публичного DNS-сервера Google (8.8.8.8), какой IP у yandex.ru
dig @8.8.8.8 yandex.ru
Часть 4: Кратко о nslookup
Вы также можете встретить утилиту nslookup. Это еще более старый инструмент, чем dig. Он менее подробный и гибкий, но иногда бывает полезен для быстрых проверок.
# Простой запрос
nslookup google.com
Вывод будет гораздо короче, чем у dig, и покажет основную информацию: имя сервера, который ответил, и IP-адрес(а) для google.com. Для серьезной диагностики dig всегда является предпочтительным инструментом.
Часть 5: Заключение
Сегодня мы значительно расширили наш арсенал для сетевой диагностики. Вы научились:
-
Использовать ss и netstat для просмотра установленных соединений.
-
Устанавливать пакет net-tools, если netstat отсутствует.
-
Использовать dig для профессиональной диагностики DNS, запрашивая разные типы записей.
-
Использовать опцию +short для получения "чистых" данных от dig.
-
Проверять DNS-ответы с разных серверов, что необходимо для поиска сложных сетевых проблем.
Эти навыки - основа для понимания того, как ваш сервер взаимодействует с внешним миром, и являются обязательными для любого администратора, работающего с веб-сервисами.
На следующем, 37-м уроке, мы продолжим тему DNS. Мы разберем, как работает эта система на более глубоком уровне, поймем разницу между рекурсивными и авторитативными DNS-серверами и изучим содержимое файла /etc/resolv.conf, который управляет тем, куда ваш сервер обращается за разрешением имен.
Перейти к просмотру - УРОК №37.
Промо-код: PROMO15 — скидка 15%!
Введите при оформлении первого заказа на сайте: Hosting-VDS.com

