Ответ
netstat (network statistics) — это классическая сетевая утилита командной строки для диагностики и мониторинга сетевых подключений и статистики. Ее основные применения:
1. Просмотр активных сетевых подключений и портов
Показывает все установленные соединения (TCP/UDP), их состояние, локальные и удаленные адреса с портами.
# Linux/macOS: Показать все TCP-соединения в числовом формате
netstat -tn
# Windows: Показать все соединения с номерами процессов (PID)
netstat -ano
Ключевые состояния TCP:
LISTEN— сервис ожидает входящих подключений.ESTABLISHED— активное соединение.TIME_WAIT— соединение закрывается, ожидает таймаута.
2. Анализ открытых (слушающих) портов
Определение, какие сервисы запущены и принимают подключения.
# Linux/macOS: Показать все слушающие порты для TCP и UDP
netstat -tuln
# (Опции: -t TCP, -u UDP, -l listening, -n numeric)
3. Диагностика проблем
- Поиск неожиданно открытых портов (признак вредоносного ПО).
- Обнаружение "висящих" соединений в состояниях
CLOSE_WAIT,TIME_WAIT. - Проверка, может ли приложение выйти в сеть/принять подключение.
4. Получение сетевой статистики
Вывод агрегированных данных по протоколам: количество отправленных/полученных пакетов, ошибки, сбросы.
# Показать статистику по всем интерфейсам и протоколам
netstat -s
5. Определение процесса, использующего порт
Критично для диагностики конфликтов портов.
# Windows: Последняя колонка - PID
netstat -ano | findstr :8080
# Linux: Требует прав суперпользователя
sudo netstat -tulnp | grep :22
Важно: В современных системах netstat считается устаревающей.
- В Linux предпочтительнее использовать
ss(socket statistics) — она быстрее и показывает больше информации:ss -tuln. - В Windows PowerShell используйте cmdlet
Get-NetTCPConnection.
Ответ 18+ 🔞
А, ну ты глянь, какая хуйня всплыла! netstat, блядь, классика жанра, как старый дедовский тесак. Утилита, которая тебе всё про сеть расскажет, если, конечно, ты умеешь её спрашивать. В рот меня чих-пых, она же как рентген для твоего компа — видно все дырки, откуда что торчит и куда лезет.
Вот, например, тебе интересно, кто тут у тебя на порту 8080 сидит и слушает, как идиот? На винде делаешь так:
netstat -ano | findstr :8080
Видишь последнюю циферку? Это PID, ёпта! Иди потом в диспетчер задач и смотри, какой процесс этот номерок себе присвоил. Часто оказывается, что какая-нибудь мартышлюшка-программа висит и порт не отдаёт.
А на линуксе, если права есть, вообще красота:
sudo netstat -tulnp | grep :22
Сразу видно, какой демон на SSH-порту сидит и под кем — имя процесса прямо в выводе. Удобно, блядь!
Но слушай сюда, главный прикол. Эта команда, она тебе состояния соединений показывает. Вот смотри:
LISTEN— это как шлюха у подъезда: сидит, ждёт, когда к ней кто-то подъедет. Сервис слушает порт.ESTABLISHED— уже договорились, пошли в дело. Активное, нормальное соединение.TIME_WAIT— всё, кончили, но ещё стоят, штаны поправляют, перед тем как разойтись. Соединение закрывается.
А если у тебя куча CLOSE_WAIT висит — это пиздец, чувак. Программа твоя нихуя не может нормально закрыть сокеты, память жрёт, всё виснет. Повод для волнения, ебать.
Ну и статистику общую можно глянуть, если совсем припёрло:
netstat -s
Там тебе и пакеты посчитаны, и ошибки, и сбросы — в общем, полный раскладбаз. Но, блядь, есть нюанс!
Внимание, ёперный театр! Сама netstat уже считается старухой, которая медленно соображает.
- В линуксе теперь модно использовать
ss. Та же фигня, но быстрее и информации больше:ss -tuln. - А в винде, в этой PowerShell — там свои заморочки,
Get-NetTCPConnectionназывается.
Но если ты на каком-нибудь древнем серваке или просто по привычке — netstat тебя никогда не подведёт. Главное — флаги правильные подобрать, а то начнёшь материться, что ничего не работает.