Диагностика локальной сети в Kali Linux: пошаговая инструкция с командами
Как найти причину отсутствия интернета, низкой скорости, потерь пакетов, проблем с DNS, недоступности камер, NAS, сервера, маршрутизатора или другого устройства. Разбираем проверку сети от физического подключения до анализа пакетов в Wireshark.
Что можно проверить с помощью этой инструкции
Подключение
Определить, видит ли Kali сетевую карту, получен ли IP-адрес, работает ли кабель, Wi-Fi, DHCP и основной шлюз.
Устройства
Найти маршрутизаторы, компьютеры, IP-камеры, видеорегистраторы, принтеры, точки доступа, NAS и серверы.
Качество сети
Проверить задержку, потери пакетов, маршруты, DNS, открытые порты, скорость локальной сети и сетевой трафик.
Подготовка системы
Устанавливаем необходимые сетевые инструменты
Большинство программ уже входит в стандартную установку Kali Linux. Перед началом работы желательно обновить список пакетов и установить недостающие утилиты.
sudo apt update
sudo apt install -y \
iproute2 \
network-manager \
net-tools \
ethtool \
dnsutils \
iputils-ping \
traceroute \
mtr-tiny \
arp-scan \
nmap \
netcat-openbsd \
tcpdump \
wireshark \
tshark \
iperf3 \
curl \
openssl \
jq
Проверяем, установлены ли программы
command -v ip
command -v nmcli
command -v nmap
command -v tcpdump
command -v wireshark
command -v iperf3
command -v dig
command -v curl
Если команда установлена, терминал покажет путь к исполняемому файлу,
например /usr/bin/nmap.
Проверяем версии
ip -Version
nmcli --version
nmap --version
tcpdump --version
tshark --version
iperf3 --version
curl --version
openssl version
Методика
Правильный порядок диагностики сети
Главная ошибка при поиске сетевой неисправности состоит в случайном запуске большого количества команд. Проверка должна выполняться последовательно, от нижнего уровня к верхнему.
Кабель, разъем, Wi-Fi-адаптер, уровень сигнала, состояние линка.
Интерфейс включен, драйвер загружен, ошибок передачи нет.
Получен правильный IP-адрес, маска, шлюз и маршрут.
Отвечает локальный адрес, шлюз и удаленный сервер.
Доменные имена преобразуются в IP-адреса.
Открыт нужный порт, работает HTTP, HTTPS, SSH или другая служба.
Нет значительных потерь, задержек, повторных передач и ограничений скорости.
Краткий алгоритм
- Определить имя сетевого интерфейса.
- Проверить, включен ли интерфейс.
- Проверить назначенный IP-адрес.
- Проверить таблицу маршрутизации.
- Проверить доступность своего шлюза.
- Проверить доступность внешнего IP-адреса.
- Проверить работу DNS.
- Проверить необходимый порт или службу.
- Измерить задержку, потери и скорость.
- При необходимости записать и разобрать пакеты.
Оборудование
Проверяем сетевые интерфейсы
Краткий список интерфейсов
ip -br link
Пример результата:
lo UNKNOWN 00:00:00:00:00:00
eth0 UP 08:00:27:12:34:56
wlan0 DOWN 34:13:e8:12:34:56
| Интерфейс | Обычно означает |
|---|---|
lo |
Локальный интерфейс текущей системы |
eth0 |
Проводное Ethernet-подключение |
enp0s3 |
Проводной интерфейс с предсказуемым именем |
wlan0 |
Беспроводной Wi-Fi-адаптер |
tun0 |
VPN-интерфейс |
docker0 |
Виртуальная сеть Docker |
virbr0 |
Виртуальный мост гипервизора |
Подробная информация
ip link show
ip address show
nmcli device status
Включение интерфейса
sudo ip link set eth0 up
Отключение интерфейса
sudo ip link set eth0 down
Проверка драйвера проводной сетевой карты
sudo ethtool -i eth0
Проверка состояния Ethernet-соединения
sudo ethtool eth0
Обратите внимание на строки:
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Link detected: yes
Link detected: no
Нет физического соединения. Причиной может быть кабель, коннектор, патч-панель, розетка, порт коммутатора или отключенное устройство.
Speed: 100Mb/s
Если ожидался гигабит, проверьте все восемь жил кабеля, качество обжима, категорию кабеля и настройки порта.
Статистика ошибок интерфейса
ip -s link show eth0
Расширенная статистика драйвера:
sudo ethtool -S eth0 | less
Рост значений errors, dropped,
crc или frame может указывать на неисправность
кабеля, разъема, сетевой карты или порта коммутатора.
Проверка оборудования
lspci -nnk | grep -A3 -i ethernet
lspci -nnk | grep -A3 -i network
lsusb
dmesg -T | grep -Ei 'eth|enp|wlan|wifi|firmware|network'
Адресация
Проверяем IP-адрес, шлюз и маршруты
Просмотр IP-адресов
ip -br address
Пример:
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.1.25/24
В этом примере компьютер получил адрес 192.168.1.25,
а префикс /24 обычно соответствует маске
255.255.255.0.
Признак проблемы с DHCP
169.254.x.x
Адрес из диапазона 169.254.0.0/16 обычно означает,
что устройство не смогло получить нормальную конфигурацию от DHCP-сервера.
Таблица маршрутизации
ip route
Пример:
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.25 metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.25
Строка default via 192.168.1.1 означает,
что основной шлюз имеет адрес 192.168.1.1.
Проверка маршрута к конкретному адресу
ip route get 1.1.1.1
Команда показывает, через какой интерфейс и шлюз система попытается отправить пакеты к указанному адресу.
Просмотр соседних устройств
ip neigh show
Возможные состояния:
| Состояние | Что означает |
|---|---|
REACHABLE |
Устройство недавно отвечало |
STALE |
Запись существует, но давно не проверялась |
DELAY |
Ожидается подтверждение доступности |
PROBE |
Выполняется активная проверка |
FAILED |
MAC-адрес устройства определить не удалось |
INCOMPLETE |
ARP-запрос отправлен, ответ еще не получен |
Пошаговая проверка
Базовая диагностика подключения
Проверяйте соединение последовательно. Каждый следующий тест имеет смысл только после успешного прохождения предыдущего.
Шаг 1. Проверяем локальный стек TCP/IP
ping -c 4 127.0.0.1
Если loopback-интерфейс не отвечает, проблема находится внутри операционной системы, сетевого стека или настроек фильтрации.
Шаг 2. Проверяем собственный IP-адрес
ping -c 4 192.168.1.25
Подставьте адрес, показанный командой ip -br address.
Шаг 3. Проверяем шлюз
ping -c 4 192.168.1.1
Если собственный адрес отвечает, а шлюз нет, проверяйте кабель, Wi-Fi, VLAN, маску подсети, маршрутизатор и межсетевой экран.
Шаг 4. Проверяем внешний IP-адрес
ping -c 4 1.1.1.1
Если шлюз отвечает, но внешний IP недоступен, проблема может находиться на маршрутизаторе, в подключении провайдера или таблице маршрутизации.
Шаг 5. Проверяем DNS
ping -c 4 example.com
Если IP-адрес доступен, а доменное имя нет, наиболее вероятна проблема DNS.
Быстрая интерпретация результата
| Результат | Вероятная проблема |
|---|---|
| Не отвечает 127.0.0.1 | Локальный сетевой стек или фильтрация |
| Не отвечает собственный IP | Интерфейс, адресация или драйвер |
| Не отвечает шлюз | Локальная сеть, Wi-Fi, кабель, VLAN или маршрутизатор |
| Шлюз отвечает, 1.1.1.1 нет | Маршрутизатор или провайдер |
| 1.1.1.1 отвечает, домен нет | DNS |
| Все отвечает, приложение не работает | Порт, служба, TLS, прокси или приложение |
Автоматическая настройка
Диагностика DHCP
DHCP автоматически передает клиенту IP-адрес, маску сети, основной шлюз, DNS-серверы и другие параметры.
Просмотр полученной конфигурации
nmcli device show eth0
Основные строки:
IP4.ADDRESS[1]
IP4.GATEWAY
IP4.DNS[1]
IP4.DOMAIN[1]
Просмотр активного подключения
nmcli connection show --active
Переподключение интерфейса
sudo nmcli device disconnect eth0
sudo nmcli device connect eth0
Перезапуск NetworkManager
sudo systemctl restart NetworkManager
Просмотр журнала NetworkManager
journalctl -u NetworkManager -b --no-pager
Только последние сообщения:
journalctl -u NetworkManager -b -n 100 --no-pager
Запрос адреса через dhclient
sudo dhclient -v eth0
Запись DHCP-пакетов
sudo tcpdump -i eth0 -nn -e \
'udp port 67 or udp port 68'
Нормальный обмен обычно включает:
- DHCP Discover — клиент ищет сервер.
- DHCP Offer — сервер предлагает конфигурацию.
- DHCP Request — клиент запрашивает предложенный адрес.
- DHCP ACK — сервер подтверждает выдачу адреса.
Доменные имена
Диагностика DNS
Какие DNS-серверы используются
cat /etc/resolv.conf
Дополнительная информация:
resolvectl status
nmcli device show | grep -i dns
Обычный DNS-запрос
dig example.com
Короткий ответ
dig +short example.com
Запрос к конкретному DNS-серверу
dig @1.1.1.1 example.com
dig @8.8.8.8 example.com
Основные типы DNS-записей
dig example.com A
dig example.com AAAA
dig example.com MX
dig example.com NS
dig example.com TXT
dig example.com SOA
Проверка обратной DNS-записи
dig -x 192.168.1.10
Проверка полного пути DNS
dig +trace example.com
Проверка системного механизма разрешения имен
getent hosts example.com
getent ahosts example.com
Сравнение DNS-серверов
dig @192.168.1.1 example.com
dig @1.1.1.1 example.com
dig @8.8.8.8 example.com
Если запрос к публичному серверу работает, а к маршрутизатору нет, проблема может находиться во встроенном DNS-прокси маршрутизатора.
Запись DNS-трафика
sudo tcpdump -i any -nn port 53
Сохранение в файл:
sudo tcpdump -i any -nn port 53 \
-w dns-diagnostics.pcap
Запрос отправляется, ответа нет
Возможна блокировка UDP или TCP 53, неправильный DNS-сервер, неисправность маршрутизатора или проблема провайдера.
Ответ приходит, приложение не работает
Проверьте кеш приложения, прокси, VPN, IPv6, файл
/etc/hosts и системный механизм разрешения имен.
Инвентаризация
Как найти устройства в своей локальной сети
Сначала определите свою подсеть:
ip -br address
ip route
Например, если Kali имеет адрес 192.168.1.25/24,
локальная сеть обычно обозначается как 192.168.1.0/24.
Таблица известных соседей
ip neigh show
Поиск устройств через arp-scan
sudo arp-scan --localnet
С указанием интерфейса:
sudo arp-scan --interface=eth0 192.168.1.0/24
В результате отображаются IP-адрес, MAC-адрес и предполагаемый производитель сетевого оборудования.
Поиск устройств через Nmap
nmap -sn 192.168.1.0/24
Сохранение результата:
mkdir -p ~/network-audit/discovery
nmap -sn 192.168.1.0/24 \
-oA ~/network-audit/discovery/hosts
Вывод только активных IP-адресов
nmap -sn 192.168.1.0/24 -oG - |
awk '/Up$/{print $2}'
Проверка MAC-адреса
ip neigh show 192.168.1.50
Как определить неизвестное устройство
- Запишите IP- и MAC-адрес.
- Посмотрите производителя MAC-адреса.
- Проверьте имя клиента в маршрутизаторе или DHCP-сервере.
- Проверьте несколько стандартных портов.
- Сравните адрес с камерами, телевизорами, NAS и другими устройствами.
- Не отключайте устройство, пока не определено его назначение.
Сетевые службы
Проверка локальных и удаленных портов
Какие порты слушает сама Kali Linux
ss -tulpen
| Параметр | Назначение |
|---|---|
-t |
TCP-сокеты |
-u |
UDP-сокеты |
-l |
Только прослушиваемые порты |
-p |
Процесс, использующий сокет |
-e |
Расширенная информация |
-n |
Не преобразовывать адреса и порты в имена |
Только TCP-порты
ss -lntp
Только UDP-порты
ss -lnup
Проверка порта через Netcat
nc -vz 192.168.1.50 80
Проверка нескольких портов:
nc -vz 192.168.1.50 22 80 443
Ограничение времени ожидания
nc -vz -w 3 192.168.1.50 443
succeeded
TCP-соединение установлено, порт доступен.
refused
Устройство ответило, но порт закрыт или служба не запущена.
timed out
Ответ не получен. Возможны фильтрация, маршрутизация или недоступность узла.
Часто используемые порты
| Порт | Протокол или служба |
|---|---|
| 22/TCP | SSH |
| 53/TCP, UDP | DNS |
| 67–68/UDP | DHCP |
| 80/TCP | HTTP |
| 123/UDP | NTP |
| 443/TCP | HTTPS |
| 445/TCP | SMB |
| 554/TCP, UDP | RTSP, часто используется видеонаблюдением |
| 631/TCP | IPP, сетевые принтеры |
| 1883/TCP | MQTT |
| 3389/TCP | RDP |
| 5000/TCP | Часто используется веб-интерфейсами NAS |
| 8123/TCP | Home Assistant |
| 9100/TCP | RAW-печать |
Nmap
Безопасное сканирование собственных устройств
Проверка стандартных TCP-портов
nmap 192.168.1.50
Проверка конкретных портов
nmap -p 22,80,443,445,554 192.168.1.50
Определение службы и ее версии
nmap -sV \
-p 22,80,443,445,554 \
192.168.1.50
Облегченное определение версий
nmap -sV --version-light \
-p 22,80,443 \
192.168.1.50
Проверка TCP через полноценное соединение
nmap -sT \
-p 22,80,443 \
192.168.1.50
Проверка популярных UDP-портов
sudo nmap -sU \
-p 53,67,68,123,161 \
192.168.1.50
Сохранение результатов
mkdir -p ~/network-audit/nmap
nmap -sT -sV --version-light \
-p 22,53,80,443,445,554,631,3389 \
192.168.1.50 \
-oA ~/network-audit/nmap/device-192-168-1-50
Параметр -oA создает три файла: обычный текстовый отчет,
XML-файл и grepable-формат.
Что означают состояния портов
| Состояние | Объяснение |
|---|---|
open |
На порту отвечает сетевая служба |
closed |
Устройство доступно, но служба на порту не работает |
filtered |
Фильтр не позволяет точно определить состояние |
open|filtered |
Nmap не может отличить открытый порт от фильтруемого |
Проверка заголовка локального веб-интерфейса
nmap --script http-title \
-p 80,443 \
192.168.1.50
Проверка HTTP-заголовков
nmap --script http-headers \
-p 80,443 \
192.168.1.50
Проверка TLS-сертификата
nmap --script ssl-cert \
-p 443 \
192.168.1.50
HTTP и HTTPS
Проверка сайтов и веб-интерфейсов оборудования
Получение HTTP-заголовков
curl -I http://192.168.1.50/
Подробная информация о соединении
curl -v http://192.168.1.50/
HTTPS с самоподписанным сертификатом
curl -vkI https://192.168.1.50/
Следование перенаправлениям
curl -IL http://192.168.1.50/
Измерение времени ответа
curl -sS -o /dev/null \
-w 'DNS: %{time_namelookup}\nConnect: %{time_connect}\nTLS: %{time_appconnect}\nTTFB: %{time_starttransfer}\nTotal: %{time_total}\nHTTP: %{http_code}\n' \
https://example.com/
Проверка сертификата
openssl s_client \
-connect example.com:443 \
-servername example.com \
< /dev/null
Краткие сведения о сертификате
openssl s_client \
-connect example.com:443 \
-servername example.com \
< /dev/null 2>/dev/null |
openssl x509 \
-noout \
-subject \
-issuer \
-serial \
-dates \
-fingerprint \
-sha256
Проверка конкретного виртуального хоста по локальному IP
curl -I \
-H 'Host: internal.example.test' \
http://192.168.1.50/
Такая команда полезна, когда на одном сервере размещено несколько сайтов, но локальная DNS-запись еще не настроена.
Пропускная способность
Проверка скорости локальной сети через iperf3
Обычный интернет-тест скорости не позволяет отделить проблему провайдера от проблемы домашней сети. Iperf3 измеряет соединение между двумя устройствами внутри вашей сети.
Запуск сервера iperf3
На первом компьютере:
iperf3 -s
Запуск клиента
На Kali Linux:
iperf3 -c 192.168.1.50
Тест в обратном направлении
iperf3 -c 192.168.1.50 -R
Параметр -R заставляет сервер передавать данные клиенту.
Это позволяет отдельно проверить скорость загрузки в сторону Kali.
Продолжительный тест
iperf3 -c 192.168.1.50 -t 30
Несколько параллельных потоков
iperf3 -c 192.168.1.50 -P 4
Двунаправленный тест
iperf3 -c 192.168.1.50 --bidir
Проверка UDP
iperf3 -c 192.168.1.50 \
-u \
-b 100M \
-t 20
UDP-тест показывает потери пакетов и джиттер. Начинайте с умеренной скорости, чтобы не перегрузить слабое оборудование.
Сохранение JSON-отчета
iperf3 -c 192.168.1.50 \
-t 30 \
-J \
> iperf3-result.json
Просмотр итоговой скорости через jq
jq '.end.sum_received.bits_per_second' \
iperf3-result.json
Ориентировочная интерпретация Ethernet
| Соединение | Реальная TCP-скорость обычно |
|---|---|
| 100 Мбит/с Ethernet | Около 90–95 Мбит/с |
| 1 Гбит/с Ethernet | Около 900–950 Мбит/с |
| 2,5 Гбит/с Ethernet | Около 2,2–2,4 Гбит/с |
Фактический результат зависит от производительности устройств, сетевых карт, кабеля, драйверов, дисков, процессора, количества потоков и других факторов.
Качество соединения
Проверка задержки, джиттера и потерь пакетов
Продолжительный ping
ping -c 100 192.168.1.1
Ping с интервалом 0,2 секунды
ping -c 100 -i 0.2 192.168.1.1
Проверка размера пакета
ping -c 10 -s 1400 192.168.1.1
Проверка MTU без фрагментации
ping -c 4 -M do -s 1472 1.1.1.1
Для обычного Ethernet 1472 байта данных плюс 28 байт заголовков соответствуют MTU 1500. В сетях с PPPoE, VPN или туннелями допустимый размер может быть меньше.
Проверка маршрута
traceroute 1.1.1.1
Без DNS-преобразования:
traceroute -n 1.1.1.1
Диагностика через MTR
mtr 1.1.1.1
Формирование отчета:
mtr -rwzc 100 1.1.1.1
Сохранение результата:
mtr -rwzc 100 1.1.1.1 \
| tee mtr-report.txt
Как читать MTR
| Поле | Значение |
|---|---|
Loss% |
Процент пакетов без ответа |
Snt |
Количество отправленных пакетов |
Last |
Последнее измерение задержки |
Avg |
Средняя задержка |
Best |
Минимальная задержка |
Wrst |
Максимальная задержка |
StDev |
Разброс значений задержки |
Захват пакетов
Диагностика сети через tcpdump
Tcpdump позволяет увидеть, какие пакеты фактически отправляются и получаются сетевым интерфейсом.
Список интерфейсов
sudo tcpdump -D
Просмотр трафика
sudo tcpdump -i eth0 -nn
Ограничение количества пакетов
sudo tcpdump -i eth0 -nn -c 100
Запись в файл
sudo tcpdump -i eth0 \
-nn \
-s 0 \
-w network-diagnostics.pcap
Чтение файла
tcpdump -nn -r network-diagnostics.pcap
Трафик конкретного устройства
sudo tcpdump -i eth0 \
-nn \
host 192.168.1.50
Только DNS
sudo tcpdump -i eth0 -nn port 53
Только HTTP и HTTPS
sudo tcpdump -i eth0 -nn \
'tcp port 80 or tcp port 443'
Только ARP
sudo tcpdump -i eth0 -nn arp
Только ICMP
sudo tcpdump -i eth0 -nn icmp
Трафик определенного устройства и порта
sudo tcpdump -i eth0 \
-nn \
'host 192.168.1.50 and tcp port 443'
Запись с автоматической ротацией файлов
sudo tcpdump -i eth0 \
-nn \
-s 0 \
-C 100 \
-W 5 \
-w capture-%02d.pcap
В этом примере размер одного файла ограничен приблизительно 100 МБ, а количество файлов — пятью.
Анализ пакетов
Как искать сетевые проблемы в Wireshark
Запуск Wireshark
wireshark
Правильный порядок работы
- Выберите сетевой интерфейс.
- При необходимости задайте capture filter.
- Начните запись.
- Воспроизведите проблему.
- Остановите запись.
- Используйте display filters.
- Изучите временную последовательность пакетов.
- Сохраните исходный PCAPNG-файл.
Capture filter
Capture filter определяет, какие пакеты будут записаны. Он использует синтаксис BPF.
host 192.168.1.50
tcp port 443
host 192.168.1.50 and tcp port 443
Display filter
Display filter не изменяет содержимое захвата, а только определяет, какие записанные пакеты отображаются на экране.
Фильтр по IP-адресу
ip.addr == 192.168.1.50
Исходящий трафик
ip.src == 192.168.1.50
Входящий трафик
ip.dst == 192.168.1.50
TCP-порт
tcp.port == 443
DNS
dns
DHCP
dhcp || bootp
ARP
arp
ICMP
icmp
Повторные передачи TCP
tcp.analysis.retransmission
Повторные подтверждения
tcp.analysis.duplicate_ack
Потерянные TCP-сегменты
tcp.analysis.lost_segment
Сброс TCP-соединения
tcp.flags.reset == 1
Начало TCP-соединения
tcp.flags.syn == 1 && tcp.flags.ack == 0
Ответ сервера SYN-ACK
tcp.flags.syn == 1 && tcp.flags.ack == 1
TCP Zero Window
tcp.analysis.zero_window
Zero Window означает, что принимающая сторона временно не может принимать дополнительные данные. Причиной может быть перегруженное приложение, медленный диск или недостаток ресурсов.
Полезная статистика Wireshark
- Statistics → Protocol Hierarchy — распределение протоколов;
- Statistics → Conversations — сетевые соединения;
- Statistics → Endpoints — обнаруженные узлы;
- Statistics → I/O Graphs — изменение нагрузки во времени;
- Analyze → Expert Information — предупреждения и ошибки;
- Follow → TCP Stream — последовательность одного TCP-потока.
Беспроводная сеть
Диагностика обычного Wi-Fi-подключения
Состояние Wi-Fi-интерфейса
nmcli device status
iw dev
rfkill list
Разблокировка адаптера
sudo rfkill unblock wifi
Список доступных сетей
nmcli device wifi list
Обновление списка сетей
nmcli device wifi rescan
nmcli device wifi list
Текущее подключение
iw dev wlan0 link
Команда показывает SSID, BSSID, частоту, уровень сигнала и текущую скорость соединения.
Подробная информация NetworkManager
nmcli device show wlan0
Проверка драйвера
sudo ethtool -i wlan0
lspci -nnk | grep -A3 -i network
lsusb
Проверка ошибок прошивки
dmesg -T |
grep -Ei 'wlan|wifi|firmware|80211|cfg80211'
Проверка качества Wi-Fi
- Выполните ping до маршрутизатора.
- Сравните результат с проводным подключением.
- Проверьте скорость через iperf3 внутри сети.
- Посмотрите уровень сигнала и частоту.
- Проверьте загруженность канала.
- Сравните диапазоны 2,4 и 5 ГГц.
- Проверьте расположение точки доступа.
- Исключите помехи и экранирующие конструкции.
Ping до точки доступа
ping -c 100 -i 0.2 192.168.1.1
Если задержка до локального маршрутизатора нестабильна или имеются потери, проблема находится внутри беспроводного сегмента, а не у провайдера.
Практика
Готовые сценарии диагностики
Сценарий 1. Kali подключена, но интернет не работает
ip -br link
ip -br address
ip route
nmcli device status
ping -c 4 127.0.0.1
ping -c 4 192.168.1.1
ping -c 4 1.1.1.1
dig example.com
journalctl -u NetworkManager -b -n 100
Если шлюз не отвечает, проверяйте локальное подключение.
Если шлюз отвечает, а 1.1.1.1 нет, проверяйте маршрутизатор
и провайдера. Если внешний IP отвечает, а домен нет, проверяйте DNS.
Сценарий 2. Не открывается IP-камера
ip route get 192.168.1.100
ping -c 4 192.168.1.100
ip neigh show 192.168.1.100
nc -vz -w 3 192.168.1.100 80
nc -vz -w 3 192.168.1.100 443
nc -vz -w 3 192.168.1.100 554
nmap -sT -sV \
-p 80,443,554,8000,8080 \
192.168.1.100
curl -vkI https://192.168.1.100/
Если устройство не появляется в ARP, проверьте VLAN, адрес, PoE-питание, кабель и порт коммутатора. Если IP доступен, но веб-интерфейс не открывается, проверьте порты и протокол HTTPS.
Сценарий 3. NAS виден, но работает медленно
sudo ethtool eth0
ip -s link show eth0
ping -c 100 192.168.1.50
iperf3 -c 192.168.1.50 -t 30
iperf3 -c 192.168.1.50 -R -t 30
iperf3 -c 192.168.1.50 -P 4 -t 30
sudo tcpdump -i eth0 \
-nn \
host 192.168.1.50 \
-w nas-problem.pcap
Если iperf3 показывает высокую скорость, а копирование файлов остается медленным, проблема может находиться в дисках, файловой системе, SMB, шифровании или процессоре NAS.
Сценарий 4. В сети появилось неизвестное устройство
sudo arp-scan --localnet
ip neigh show
nmap -sT -sV --version-light \
-p 22,53,80,443,445,554,631,1883,3389,5000,8000,8080,8123,9100 \
192.168.1.75
Сравните MAC-адрес и имя клиента со списком DHCP на маршрутизаторе. Проверьте телевизоры, колонки, камеры, принтеры, роботы-пылесосы, системы умного дома и телефоны с рандомизированным MAC-адресом.
Сценарий 5. Сайт периодически открывается очень долго
dig example.com
curl -sS -o /dev/null \
-w 'DNS: %{time_namelookup}\nConnect: %{time_connect}\nTLS: %{time_appconnect}\nTTFB: %{time_starttransfer}\nTotal: %{time_total}\nHTTP: %{http_code}\n' \
https://example.com/
mtr -rwzc 100 example.com
sudo tcpdump -i any \
-nn \
'port 53 or tcp port 443' \
-w slow-website.pcap
Сценарий 6. Wi-Fi периодически зависает
iw dev wlan0 link
nmcli device show wlan0
ping -c 300 -i 0.2 192.168.1.1
ping -c 300 -i 0.2 1.1.1.1
iperf3 -c 192.168.1.50 -t 60
journalctl -u NetworkManager -f
Одновременная проверка маршрутизатора и внешнего адреса помогает отделить проблему Wi-Fi от проблемы интернет-канала.
Документирование
Как сохранить результаты диагностики
Создание рабочего каталога
mkdir -p ~/network-audit/{system,discovery,nmap,pcap,speed,reports}
Сохранение информации о системе
date -Iseconds \
| tee ~/network-audit/system/date.txt
hostnamectl \
| tee ~/network-audit/system/hostnamectl.txt
ip -br address \
| tee ~/network-audit/system/ip-address.txt
ip route \
| tee ~/network-audit/system/routes.txt
ip neigh \
| tee ~/network-audit/system/neighbours.txt
nmcli device status \
| tee ~/network-audit/system/nmcli-devices.txt
ss -tulpen \
| tee ~/network-audit/system/listening-ports.txt
Запись терминальной сессии
script -a ~/network-audit/reports/terminal-session.txt
Для завершения записи:
exit
Контрольные суммы файлов захвата
sha256sum ~/network-audit/pcap/*.pcap* \
> ~/network-audit/reports/pcap-sha256.txt
Структура нормального отчета
- Дата и время диагностики.
- Адрес и описание объекта.
- Описание проблемы со слов пользователя.
- Схема подключения.
- Модель маршрутизатора и сетевого оборудования.
- IP-адреса и подсети.
- Результаты ping и MTR.
- Результаты проверки DNS.
- Результаты Nmap и проверки портов.
- Результаты iperf3.
- Найденные ошибки интерфейсов.
- Вывод по причине неисправности.
- Рекомендации по устранению.
Краткий справочник
Шпаргалка сетевых команд Kali Linux
ip -br link
ip -br address
ip route
ip route get 1.1.1.1
ip neigh
nmcli device status
ping -c 4 192.168.1.1
traceroute 1.1.1.1
mtr -rwzc 100 1.1.1.1
dig example.com
dig @1.1.1.1 example.com
sudo arp-scan --localnet
nmap -sn 192.168.1.0/24
nc -vz 192.168.1.50 443
nmap -sV 192.168.1.50
ss -tulpen
curl -I https://example.com/
iperf3 -c 192.168.1.50
sudo tcpdump -i eth0 -w capture.pcap
iw dev wlan0 link
Ответы
Частые вопросы
Почему Kali Linux не получила IP-адрес?
Проверьте состояние интерфейса, физическое подключение, NetworkManager, DHCP-сервер, VLAN и журнал системы. Адрес вида 169.254.x.x часто означает, что DHCP-сервер не ответил.
Почему шлюз отвечает, а интернет не работает?
Возможна проблема WAN-подключения маршрутизатора, провайдера, NAT, таблицы маршрутизации, VPN или межсетевого экрана. Сначала проверьте внешний IP-адрес, затем DNS.
Почему IP-адрес доступен, а сайт по имени не открывается?
Наиболее вероятна проблема DNS. Сравните запросы к DNS маршрутизатора и публичному серверу через команду dig.
Почему ping не отвечает, но веб-интерфейс открывается?
Устройство может блокировать ICMP, но принимать соединения на портах 80 или 443. Проверяйте нужный порт через nc, curl или Nmap.
Как проверить, что кабель работает на скорости 1 Гбит/с?
Выполните ethtool eth0. Параметры должны
показывать Speed: 1000Mb/s, Duplex: Full и Link detected: yes.
Затем измерьте реальную пропускную способность через iperf3.
Почему гигабитная сеть показывает около 940 Мбит/с?
Часть пропускной способности используется заголовками Ethernet, IP и TCP. Результат около 900–950 Мбит/с обычно считается нормальным для гигабитного Ethernet.
Как отличить проблему Wi-Fi от проблемы провайдера?
Одновременно проверяйте задержку до локального маршрутизатора и до внешнего адреса. Потери уже на маршрутизаторе указывают на беспроводной сегмент. Также сравните результат iperf3 по Wi-Fi и по кабелю.
Как найти все устройства в домашней сети?
Определите свою подсеть, затем используйте arp-scan, таблицу соседей и Nmap в режиме обнаружения узлов. Сравните результат со списком DHCP-клиентов маршрутизатора.
Почему Nmap показывает filtered?
Nmap не получил ответа, позволяющего точно определить состояние порта. Причиной может быть межсетевой экран, ACL, фильтрация маршрутизатора или отсутствие обратного маршрута.
Чем capture filter отличается от display filter?
Capture filter определяет, какие пакеты будут записаны. Display filter применяется к уже записанному трафику и меняет только его отображение в Wireshark.
Можно ли использовать Kali для постоянного мониторинга сети?
Можно, но для постоянного мониторинга удобнее применять специализированные системы: Zabbix, LibreNMS, Prometheus, Grafana, ntopng, Suricata или Zeek. Kali лучше подходит для ручной диагностики и исследований.
Нужно ли сохранять PCAP после диагностики?
Да, если он подтверждает неисправность и не содержит лишних конфиденциальных данных. Зафиксируйте время, условия записи и контрольную сумму файла.
Основной принцип
Не начинайте диагностику с Wireshark и большого сканирования
Большинство сетевых проблем обнаруживается несколькими базовыми проверками: состояние интерфейса, IP-адрес, шлюз, DNS, нужный порт, ping и iperf3. Захват пакетов требуется, когда простые проверки не объясняют причину неисправности.
- Сначала проверяйте физическое подключение.
- Затем проверяйте IP и маршрут.
- Отделяйте локальную сеть от интернета.
- Проверяйте DNS отдельно от доступности IP.
- Измеряйте локальную скорость через iperf3.
- Не делайте вывод только по одному ping.
- Сохраняйте результаты и время проверки.
- Не сканируйте чужую инфраструктуру.
Компьютерная и сетевая помощь
Не получается найти причину неисправности сети?
Диагностика домашних и небольших офисных сетей, Wi-Fi, Mesh-систем, маршрутизаторов, коммутаторов, NAS, IP-камер, видеорегистраторов и удаленного доступа в Туле и поселке Петровский.
Перейти в раздел компьютерной помощи