Урок 23: отладка сети — ss, tcpdump, netstat
Вы написали TCP-сервер — но он не отвечает. А он вообще слушает? Занят ли порт? Приходят ли packets? В этом уроке мы изучим три инструмента, которые обязан знать каждый инженер Linux: ss для просмотра открытых соединений, tcpdump для захвата packets в реальном времени и netstat для сведений о соедин
ss — это как открыть телефонную книгу компьютера и посмотреть, кто с кем соединён. tcpdump — это как держать микрофон на улице и слушать каждый проходящий разговор. netstat — это более старая версия ss — всё ещё полезная. Вместе они дают вам полную картину того, что происходит в сети, ничего не разбирая.
- ss
- Socket Statistics — современный инструмент Linux для просмотра всех открытых sockets. Быстрее netstat и поддерживает богатые фильтры. Заменяет netstat в большинстве случаев.
- tcpdump
- Инструмент для захвата и анализа сетевых packets в реальном времени. Позволяет увидеть точно, что проходит через сетевой интерфейс, с фильтрацией по порту, IP-адресу, протоколу и не только.
- TIME_WAIT
- Состояние TCP, при котором закрытое соединение продолжает удерживать свой порт в течение короткого времени (~60 секунд), чтобы заблудившиеся, поздно приходящие packets от старого соединения не были по ошибке приняты новым соединением.
- CLOSE_WAIT
- Состояние TCP, при котором удалённая сторона закрыла соединение, но локальная сторона ещё не вызвала close(). Обычно указывает на баг в коде сервера, который не очищает соединения.
- pcap
- Формат файла для сохранения захваченных packets. tcpdump может сохранять в файл .pcap, который затем можно открыть в Wireshark для детального анализа.