Windows. Вирусы. Ноутбуки. Интернет. Office. Утилиты. Драйверы

Netstat это очень полезная утилита, которую некоторые системные администраторы используют каждый день, а некоторым приходится прибегать к ней только для диагностики неисправностей. Но в любом случае понимать эту утилиту и уметь её использовать очень полезно.

Команда имеет всего 10 параметров, из которых наверно самым часто используемым является параметр -a , который отображает все подключения и используемые порты. Однако даже указания параметров netstat от отображает довольно полезную информацию.

Рассмотрим теперь полезные параметры утилиты netstat

Полное доменное имя: При использовании параметра -f будут отображается полные доменные имена подключенных удаленных хостов. Имена будут резолвится любыми доступными способами. На рисунке ниже вы можете посмотреть пример данного действия:

Какой процесс использует открытый порт: С помощью комбинации параметров -a -n -o можно отслеживать какой процесс использует открытый порт. Из вывода команды мы узнаем идентификатор процесса (PID), с помощью которого в диспетчере задач можем найти нужный процесс.

Вы можете использовать ещё один полезный параметр для более дружелюбного вывода информации. Параметр -b покажет имя каждого процесса, однако он требует прав администратора.

Отображение таблицы маршрутизации: При использовании параметра -r вы можете посмотреть текущую таблицу маршрутизации.

Я чаще всего использую именно 4 указанные параметра для диагностики проблем Windows. Как ещё вы используете netstat и почему?

Полезная информация

Любите одеваться модно и красиво? Зайдите в интернет магазин одежды из Кореи и купите себе за приемлимую цену вещи великолепного качества.

К оманда Netstat отображает различные сетевые данные, такие как сетевые подключения, таблица маршрутизации, статистики интерфейсов, маскированные соединения, многоадресное пространство и т.д.,

В этой статье, давайте рассмотрим 10 практических примеров команды NetStat в Unix.

1. Список всех портов (как прослушиваемые, так и не прослушиваемые порты)

Список всех портов с помощью команды Netstat -a

# netstat -a | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:30037 *:* LISTEN udp 0 0 *:bootpc *:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket

Список всех портов TCP с помощью netstat -at

# netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN tcp 0 0 localhost:webcache 0.0.0..0.0.0:* LISTEN tcp 0 0 localhost:domain 0.0.0.0:* LISTEN

Перечисление всех UDP-портов с помощью netstat -au

# netstat -au Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 andreyex..ru:50053 google-public-dn:domain ESTABLISHED

2. Список сокетов, которые находятся в состояние прослушмвания

Список только прослушивающих портов с помощью netstat -l

# netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN tcp 0 0 localhost:webcache 0.0.0..0.0.0:* LISTEN tcp 0 0 localhost:domain 0.0.0.0:* LISTEN

Список только прослушивающихся TCP портов с помощью netstat -lt

# netstat -lt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN tcp 0 0 localhost:webcache 0.0.0..0.0.0:* LISTEN tcp 0 0 localhost:domain 0.0.0.0:* LISTEN

Список только прослушивающихся UDP портов с помощью netstat -lu

# netstat -lu Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 сайт:domain 0.0.0.0:* udp 0 0 localhost:domain 0.0.0..0.0.0:*

Список только прослушивающихся портов UNIX с помощью netstat -lx

# netstat -lx Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 19693 tmp/core.adm.internal unix 2 [ ACC ] SEQPACKET LISTENING 8723 /run/udev/control unix 2 [ ACC ] STREAM LISTENING 12566 /var/run/dbus/system_bus_socket unix 2 [ ACC ] STREAM LISTENING 16948 /var/run/fail2ban/fail2ban.sock unix 2 [ ACC ] STREAM LISTENING 19702 tmp/core.sock

Регулярно, некоторые - только для диагностики. Я принадлежу к последней категории: предпочитаю использовать эту утилиту для выявления причин системных проблем и неполадок.

Для команды netstat предусмотрено десять параметров, позволяющих получить подробную информацию для решения самых разных задач. Впрочем, не менее полезные сведения можно получить и безо всяких параметров.

Чаще всего netstat применяют с параметром -a, чтобы получить список всех подключений и прослушиваемых портов. Ниже перечислены несколько других параметров, которые могут пригодиться при использовании этой утилиты.

Полностью определенное имя домена. Параметр -f позволяет узнать FQDN для внешнего адреса. При использовании netstat с этим параметром имена разрешаются как во внутренней, так и во внешней сети. На рис. A показан вывод команды.

Рисунок A

Какой процесс использует тот или иной порт. Сочетание параметров -a -n -o позволяет выяснить, какому идентификатору процесса (PID) соответствует тот или иной порт. (См. ) Вывод команды показан на рис. B.


Рисунок B

А если добавить к этой комбинации параметр -b, для каждого процесса будут использоваться дружественные имена, как показано на рис. C. Правда, для этого потребуются права администратора.


Рисунок C

Обратите внимание: удаленные адреса, указывающие на 192.168.1.220:3261, принадлежат службе инициатора Windows iSCSI и обозначаются иначе, чем адреса остальных служб.

Вывод таблицы маршрутизации. Когда нужно выяснить, почему на одном компьютере сетевое соединение работает иначе, чем на других в той же сети, можно использовать параметр -r, который выводит маршрут для данной системы, как показано на рис. D. Обратите внимание на раздел «Постоянные маршруты» (Persistent routes): в нем указываются все статические маршруты, настроенные для Windows Server).


Рисунок D

Эти четыре вариации команды netstat существенно облегчают

Иногда во время работы какой-либо системы, будь то домашний персональный компьютер или мощный сервер, обслуживающий множество подключений, полезно иметь под рукой инструмент, способный отобразить данные о сетевой активности. Для чего это может понадобиться? Для вычисления приложений, нелегально выходящих в Сеть интернет, или же пользователей. Именно этим и занимается рассматриваемая нами утилита.

Что такое Netstat?

Это такое приложение, с помощью которого можно узнать, что происходит в данный момент в Сети. Для запуска используется командная строка. В ней же при запуске Netstat используются дополнительные ключи и параметры.

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

Команды и ключи

Синтаксис ключей и параметров команды довольно обширен. Это позволяет получить сетевую статистику на самых разных уровнях. Далее пойдет описание команды Netstat, ее параметры и ключи:

  • -a - запуск с данным параметром выведет на экран все активные подключения TCP, а также порты TCP и UDP, прослушиваемые системой;
  • -e - отображение расширенной статистики Ethernet, например, о перемещении байтов и пакетов;
  • -n - параметр позволяет показать активные подключения TCP с адресами и номерами портов;
  • -o - так же, как и предыдущий ключ, выводит активные TCP подключения, но в статистику добавлены коды процессов, по ним уже можно точно определить, какое именно приложение использует подключение;
  • -p - отображение информации по определенному протоколу, указанному в параметре. Среди значений может быть tcp, udp, tcpv6 и udpv6;

  • -s - вывод на экран статистики по протоколу, по умолчанию отобразятся все известные типы;
  • -r - данный ключ выведет содержимое IP, параметр равносилен использованию команды route;
  • интервал - в общей строке команды можно использовать значение интервала, через который будет происходить отображение выбранной статистики; если он опущен, то информация отобразится всего один раз;
  • /? - выведет справочную информацию по команде Netstat.

Использование Netstat в Windows

Для того чтобы вывести на экран командной строки все соединения, при этом разместив их на нескольких страницах, нужно использовать такой синтаксис: «-a | more». Если нужно сохранить всю статистику в определенный файл, нужно использовать « -a > C:\имя файла». Таким образом, в файл, указанный по данному пути, будет записана вся собранная информация.

Результатом работы может выступать небольшая таблица, которая содержит следующие типы данных:

  • Имя. Здесь указывается название найденного активного протокола.
  • Локальный адрес. IP-адрес и порт, использующиеся локальным сервисом для создания соединения. Среди значений может встречаться 0.0.0.0, что означает любой доступный адрес или 127.0.0.1. Это говорит о локальной петле.
  • Внешний адрес. IP и порт внешней службы в сети, с которой установлено соединение.

  • Состояние. Показывает текущий статус соединения. Может принимать разные значения. Например, Listening говорит о том, что служба «слушает» и ждет входящего подключения. Established означает активное соединение.

Netstat, запущенная с ключами -a и -b, покажет все сетевые подключения, а также связанные с ними программы. Это очень удобно, если нужно вычислить, какая программа активно использует трафик и куда отсылает данные.

Дополнительные состояния соединений

Помимо указанных выше состояний соединений, имеются и дополнительные:

  • closed - как следует из названия, соединение находится в закрытом виде;
  • syn_sent - происходит активная попытка установить подключение;
  • syn_received - показывает начальный этап синхронизации;
  • close_wait - отключен, и происходит завершение соединения.

Использование Netstat в Linux

Применение утилиты в среде Linux, по сути, мало чем отличается от Windows. Есть всего лишь небольшие отличия в параметрах команды. Описание команды Netstat и ее параметров с примерами:

  • Чтобы отобразить все порты, нужно использовать команду - «netstat -a».
  • Все то же самое, но только типа TCP - «-at».
  • UDP порты - «-au».
  • Отобразить в Netstat открытые порты - «-l». Их состояние будет отражено как Listening.
  • Отобразить в Netstat открытые порты TCP - «netstat -lt.
  • Вывод идентификатора процесса и его имени - «netstat -p».
  • Показать статистику для отдельного - «netstat -s».

Иногда, чтобы получить более полную информацию о каком-либо сетевом соединении, нужно совместить Netstat с некоторыи командами и утилитами Linux. Например, так:

netstat -ap | grep ssh

Данная строка выведет на экран список портов, которые в данный момент используется утилитой SSH. Если, наоборот, нужно узнать, какой процесс занимает определенный порт, можно использовать следующий синтаксис:

netstat -an | grep `:80`

Также для Netstat в Linux имеется универсальный набор ключей, способный отобразить все необходимое сразу. Выглядит он так: netstat -lnptux. В наборе данных будут отражены все протоколы TCP, UDP, UNIX Socket, названия процессов и их идентификаторов.

Несколько примеров для определения атаки типа DoS или DDoS

Следующая команда позволит узнать, сколько подключений активно на каждом IP-адресе:

netstat -naltp | grep ESTABLISHED | awk "{print $5}" | awk -F: "{print $1}" | sort -n | uniq -c

Определяем большое количество запросов с одного IP-адреса:

netstat -na | grep:80 | sort

Определяем точное количество запросов, полученных на одно соединение:

netstat -np | grep SYN_RECV | wc -l

При проведении DoS-атаки число, полученное в результате работы данной команды, должно быть довольно большим. В любом случае оно может зависеть от конкретной системы. То есть на одном сервере оно может быть одним, на другом - иным.

Заключение

В какой операционной системы бы не использовалась команда, она является незаменимым инструментом для сканирования, анализа и отладки сети. Ее активно используют системные администраторы всего мира.

Netstat можно использовать при заражении системы каким-либо вирусным программным обеспечением. Она способна показать все приложения с большой активностью подозрительного сетевого трафика. Это поможет на ранних этапах выявить вредное ПО и нейтрализовать его или же защитить сервер от нежелательного вторжения злоумышленников.

Выводы

В статье было дано подробное описание команды Netstat и её параметров и ключей. Полноценное использование программы возможно после нескольких этапов практики на реальном устройстве. Совмещение с другими командами придаст ей еще больше эффективности. Полный набор описания команд Netstat можно найти в руководстве на официальном сайте утилиты. Также стоит отметить, что при использовании в среде Linux команда Netstat устарела и вместо нее настоятельно рекомендуют использовать SS.

Выпуск WordPress 5.3 улучшает и расширяет представленный в WordPress 5.0 редактор блоков новым блоком, более интуитивным взаимодействием и улучшенной доступностью. Новые функции в редакторе […]

После девяти месяцев разработки доступен мультимедиа-пакет FFmpeg 4.2, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и […]

  • Новые функции в Linux Mint 19.2 Cinnamon

    Linux Mint 19.2 является выпуском с долгосрочной поддержкой, который будет поддерживаться до 2023 года. Он поставляется с обновленным программным обеспечением и содержит доработки и множество новых […]

  • Вышел дистрибутив Linux Mint 19.2

    Представлен релиз дистрибутива Linux Mint 19.2, второго обновления ветки Linux Mint 19.x, формируемой на пакетной базе Ubuntu 18.04 LTS и поддерживаемой до 2023 года. Дистрибутив полностью совместим […]

  • Доступны новые сервисные релизы BIND, которые содержат исправления ошибок и улучшения функций. Новые выпуски могут быть скачано со страницы загрузок на сайте разработчика: […]

    Exim – агент передачи сообщений (MTA), разработанный в Кембриджском университете для использования в системах Unix, подключенных к Интернету. Он находится в свободном доступе в соответствии с […]

    После почти двух лет разработки представлен релиз ZFS on Linux 0.8.0, реализации файловой системы ZFS, оформленной в виде модуля для ядра Linux. Работа модуля проверена с ядрами Linux c 2.6.32 по […]

  • В WordPress 5.1.1 устранена уязвимость, позволяющая получить контроль над сайтом
  • Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, завершил формирование RFC для протокола ACME (Automatic Certificate Management Environment) […]

    Некоммерческий удостоверяющий центр Let’s Encrypt, контролируемый сообществом и предоставляющий сертификаты безвозмездно всем желающим, подвёл итоги прошедшего года и рассказал о планах на 2019 год. […]

  • Вышла новая версия Libreoffice – Libreoffice 6.2
  • Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
    ПОДЕЛИТЬСЯ: