Перейти к основному содержанию

Диагностика сети из командной строки: шпаргалка

Проверка доступности порта, хоста.
 

  1. nmap (Network Mapper)


    🔎 Что смотреть в выводе:
    PORT STATE SERVICE
    22/tcp open ssh
    80/tcp open http
    443/tcp filtered https


    open — сервис доступен, можно коннектиться.
    closed — порт доступен, но никто не слушает.
    filtered — порт не отвечает


    💻 Примеры

    Проверяем, доступен ли порт 443 на yandex.ru (да — open)

    $ sudo nmap -p 443  yandex.ru
    Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-28 03:47 MSK
    Nmap scan report for yandex.ru (5.255.255.77)
    Host is up (0.040s latency).
    Other addresses for yandex.ru (not scanned): 77.88.44.55 77.88.55.88 2a02:6b8:a::a
    
    PORT    STATE SERVICE
    443/tcp open  https
    
    Nmap done: 1 IP address (1 host up) scanned in 0.58 seconds
    

    Проверяем доступен ли порт 8080 на yandex.ru (нет — filtered)

    $ sudo nmap -p 8080  yandex.ru
    Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-28 03:47 MSK
    Nmap scan report for yandex.ru (77.88.55.88)
    Host is up (0.037s latency).
    Other addresses for yandex.ru (not scanned): 77.88.44.55 5.255.255.77 2a02:6b8:a::a
    
    PORT     STATE    SERVICE
    8080/tcp filtered http-proxy
    
    Nmap done: 1 IP address (1 host up) scanned in 0.52 seconds

    Проверяем маршрут пакетов до yandex.ru:443

    $ sudo nmap --traceroute -p443 yandex.ru
    Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-28 03:49 MSK
    Nmap scan report for yandex.ru (77.88.44.55)
    Host is up (0.014s latency).
    Other addresses for yandex.ru (not scanned): 5.255.255.77 77.88.55.88 2a02:6b8:a::a
    
    PORT    STATE SERVICE
    443/tcp open  https
    
    TRACEROUTE (using port 443/tcp)
    HOP RTT      ADDRESS
    1   3.96 ms  dlinkap.Dlink (192.168.0.50)
    2   4.86 ms  10.10.x.x
    3   7.14 ms  mskn15ra.transtelecom.net (188.43.254.198)
    4   17.22 ms Yandex-gw.transtelecom.net (188.43.215.169)
    5   14.68 ms Yandex-gw.transtelecom.net (188.43.215.171)
    6   ... 14
    15  16.47 ms yandex.ru (77.88.44.55)
    
    Nmap done: 1 IP address (1 host up) scanned in 8.54 seconds
    

    💡 Массовое сканирование

    nmap умеет проверять не один порт, а сразу диапазоны или все доступные порты (65535).

    $ sudo nmap -p1-65535 192.168.1.1

    ⚠️ Важно

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

  2. tcptraceroute

    • Это именно трассировка маршрута, а не просто проверка порта.
    • По стандарту tcptraceroute отправляет три пакета подряд на каждый узел (хоп). Поэтому в выводе отображается 3 времени на каждый узел, а не один.
       
    🔎 Что смотреть в выводе:

    Отсутствие <! + symbol> после времени.

    30.147 ms  13.694 ms  23.197 ms Доступ открыт
    24.693 ms !C 3.720 ms !C 4.500 ms !C !C — (сокращение от Communication Prohibited) firewall
    24.693 ms !A 3.720 ms !A 4.500 ms !A !A — (Administratively Prohibited) firewall
    💻 Примеры

    Проверяем, доступен ли порт 443 на yandex.ru (да — 30.147 ms  13.694 ms  23.197 ms)

    $ tcptraceroute yandex.ru 443
    Selected device wlo1, address 192.168.0.84, port 34881 for outgoing packets
    Tracing the path to yandex.ru (77.88.44.55) on TCP port 443 (https), 30 hops max
     1  192.168.0.50  0.998 ms  0.629 ms  0.610 ms
     2  10.10.x.x  4.378 ms  0.971 ms  1.057 ms
     3  * * *
     4  Yandex-gw.transtelecom.net (188.43.215.169)  38.033 ms  11.407 ms  12.257 ms
     5  Yandex-gw.transtelecom.net (188.43.215.170)  9.849 ms  24.811 ms  10.240 ms
     6  * * *
     7  * * *
     8  * * *
     9  * * *
    10  * * *
    11  * * *
    12  * * *
    13  * * *
    14  * * *
    15  yandex.ru (77.88.44.55) [open]  30.147 ms  13.694 ms  23.197 ms
    

    💡Если порт закрыт "глухим" файрволом (DROP), утилита будет бесконечно печатать звездочки до самого лимита, так и не дождавшись отклика от цели». Да, !A и !С - тоже firewall, но "разговорчивый" (тратит силы на ответ с пояснением отказа).
     

  3. Telnet

    telnet - устаревший протокол для удалённого доступа, но как утилита — до сих пор полезен для быстрой проверки: «открыт ли порт и отвечает ли он».

    💻 Примеры

    Успешное подключение

    $ telnet yandex.ru 443
    Trying 77.88.55.88...
    Connected to yandex.ru.
    Escape character is '^]'.
    

     

  4. nc (Netcat)

    В режиме проверки портов работает быстрее и тише, чем telnet. Идеально для скриптов и быстрой диагностики.
    💡 Зачем использовать:

    • -z — режим сканирования (не отправлять данные, только проверить).
    • -v — подробный вывод (показывает результат, а не молчит).
    • Работает быстрее telnet и есть почти на любом Linux-сервере.
    💻 Примеры
    $ nc -zv yandex.ru 443
    Connection to yandex.ru (5.255.255.77) 443 port [tcp/https] succeeded!
    

 

DNS-утилиты
 

  1. 🌐 127.0.0.53 (systemd-resolved)

    Локальный DNS-резолвер в современных Linux-системах (Ubuntu 18.04+, Debian 10+, Fedora). 
    Другими словами — системная служба для кэширования и маршрутизации DNS-запросов.

    127.0.0.53: как работает кэширование:
    • Запрос: Приложение запрашивает example.com → обращается на 127.0.0.53.
    • Проверка кэша: systemd-resolved смотрит, есть ли запись в памяти.
      ✅ Есть + срок не истёк → отдаёт сразу (мгновенно). 
      ❌ Нет или просрочено → идёт запрос к реальному DNS-серверу (провайдеру / 8.8.8.8).
    • Кэширование: Полученный ответ сохраняется локально с TTL (Time To Live), который указывает сам DNS-сервер (обычно от 30 сек до нескольких часов).
    • Повторный запрос: Пока TTL не истёк — все запросы к этому домену обслуживаются из кэша, без обращения в сеть.
    💡 Зачем это нужно:
    • ⚡ Ускорение: Повторные запросы к одному домену выполняются мгновенно.
    • 📉 Меньше трафика: Не дёргаем внешние DNS-серверы по каждому чиху.
    • 🛡 Стабильность: Если провайдер «молчит», кэшированные записи ещё работают.

     

  2. dig (Domain Information Groper)

    Показывает детальный ответ от DNS-сервера

    +short: для краткого вывода (только IP)

    🔎 Зачем:
    • dig не кэширует ответы (в отличие от браузера или systemd-resolved). Каждый запрос идёт на сервер.
    • Проверить, видит ли домен публичный DNS.
    • Сравнить ответы: если dig example.com не работает, а dig @8.8.8.8 example.com работает — проблема у провайдера.
    💻 Примеры

    закрос к dns серверу по умолчанию (или кеш)

    $ dig +short happyblitz.ru 
    185.11.246.126

    запрос к dns серверу cloudflare

    $ dig +short @1.1.1.1 happyblitz.ru
    185.11.246.126

     

  3. nslookup

    Более простая (и старая) альтернатива dig.
    Есть почти везде, включая Windows. 
    Меньше деталей в выводе — для быстрых проверок.

    💻 Примеры
    $ nslookup happyblitz.ru
    Server:		127.0.0.53
    Address:	127.0.0.53#53
    
    Non-authoritative answer:
    Name:	happyblitz.ru
    Address: 185.11.246.126
    $ nslookup happyblitz.ru 1.1.1.1
    Server:		1.1.1.1
    Address:	1.1.1.1#53
    
    Non-authoritative answer:
    Name:	happyblitz.ru
    Address: 185.11.246.126

     

  4. 🔐 DoH (DNS-over-HTTPS)

    Зашифрованный способ отправлять DNS-запросы. Запросы идут через HTTPS, как обычный веб-трафик. 

    🔎 Зачем это нужно:
    • 🔒 Приватность: провайдер не видит, какие домены запрашиваются (только зашифрованный трафик к серверу DoH).
    • 🛡 Защита от подмены: нельзя «на лету» подменить ответ (DNS-spoofing), так как соединение зашифровано. 
    📋 Как использовать:

    В браузере (самый простой способ):

    Firefox: НастройкиПараметры сетиВключить DNS через HTTPS → выбрать провайдера (Cloudflare, NextDNS и др.).
    Chrome/Chromium: НастройкиКонфиденциальностьБезопасность → Использовать безопасный DNS.