Цель урока: Расширить и углубить наши знания в области сетевой диагностики. Мы снова вернемся к команде 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

авторское право цифровые решения

Помог ли вам данный ответ? 0 Пользователи считают это полезным (0 голосов)