Сайт о телевидении

Сайт о телевидении

» » Команда отображающая текущий статус и статистику подключений. Описание команды NETSTAT (статистика активных подключений TCP)

Команда отображающая текущий статус и статистику подключений. Описание команды NETSTAT (статистика активных подключений TCP)

    Команда NETSTAT предназначена для получения сведений о состоянии сетевых соединений и слушаемых на данном компьютере портах TCP и UDP, а также, для отображения статистических данных по сетевым интерфейсам и протоколам.

Формат командной строки:

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-t] [интервал]

Параметры командной строки:

-a - Отображение всех подключений и ожидающих портов.
-b - Отображение исполняемого файла, участвующего в создании каждого подключения, или ожидающего порта. Иногда известные исполняемые файлы содержат множественные независимые компоненты. Тогда отображается последовательность компонентов, участвующих в создании подключения, либо ожидающий порт. В этом случае имя исполняемого файла находится снизу в скобках , сверху - компонент, который им вызывается, и так до тех пор, пока не достигается TCP/IP. Заметьте, что такой подход может занять много времени и требует достаточных разрешений.
-e - Отображение статистики Ethernet. Может применяться вместе с параметром -s.
-f - Отображение полного имени домена (FQDN) для внешних адресов.
-n - Отображение адресов и номеров портов в числовом формате.
-o - Отображение кода (ID) процесса каждого подключения.
-p протокол - Отображение подключений для протокола, задаваемых этим параметром. Допустимые значения: TCP, UDP, TCPv6 или UDPv6. Используется вместе с параметром -s для отображения статистики по протоколам. Допустимые значения: IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP или UDPv6.
-r - Отображение содержимого таблицы маршрутов.
-s - Отображение статистики протокола. По умолчанию статистика отображается для протоколов IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP и UDPv6. Параметр -p позволяет указать подмножество выводимых данных.
-t - Отображение текущего подключения в состоянии переноса нагрузки с процессора на сетевой адаптер при передаче данных ("offload").
-v - Подробный вывод информации, если это возможно.
интервал - Повторный вывод статистических данных через указанный интервал в секундах. Для прекращения вывода данных нажмите клавиши CTRL+C. Если параметр не задан, сведения о текущей конфигурации выводятся один раз.

На практике, утилиту netstat.exe удобно использовать в цепочке с командами постраничного вывода (more ), перенаправления стандартного вывода в файл ( > ) и поиска текста в результатах вывода (find ).

netstat -a | more - отобразить все соединения в постраничном режиме вывода на экран.

netstat -a -n| more - то же, что и в предыдущем примере, но с отображением номеров портов и IP-адресов в числовом формате. В отличие от предыдущего примера, команда netstat с параметром -t отрабатывает намного быстрее.

netstat -a -f | more - то же, что и в предыдущем примере, но с отображением полных DNS-имен узлов, участвующих в соединениии.

netstat -a > C:\netstatall.txt - отобразить все соединения с записью результатов в файл C:\netstatall.txt.

netstat -a | find /I "LISTENING" - отобразить все соединения со статусом LISTENING, т.е. отобразить список сетевых интерфейсов и портов, ожидающих входящие соединения ("слушаемых" портов). Ключ /I в команде find указывает, что при поиске текста, не нужно учитывать регистр символов.

netstat -a | find /I "listening" > C:\listening.txt - отобразить все соединения со статусом LISTENING с записью результатов в файл C:\listening.txt.

Пример отображаемой информации:

Активные подключения

Имя - название протокола.

Локальный адрес - локальный IP-адрес участвующий в соединении или связанный со службой, ожидающей входящие соединения (слушающей порт). Если в качестве адреса отображается 0.0.0.0 , то это означает - "любой адрес", т.е в соединении могут использоваться все IP-адреса существующие на данном компьютере. Адрес 127.0.0.1 - это петлевой интерфейс, используемый в качестве средства IP протокола для взаимодействия между процессами без реальной передачи данных.

Внешний адрес Внешний IP-адрес, участвующий в создании соединения.

Состояние - состояние соединения. Состояние Listening говорит о том, что строка состояния отображает информацию о сетевой службе, ожидающей входящие соединения по соответствующему протоколу на адрес и порт, отображаемые в колонке "Локальный адрес ". Состояние ESTABLISHED указывает на активное соединение. В колонке "Состояние" для соединений по протоколу TCP может отображаться текущий этап TCP-сессии определяемый по обработке значений флагов в заголовке TCP - пакета (Syn, Ask, Fin ...). Возможные состояния:

CLOSE_WAIT - ожидание закрытия соединения.
CLOSED - соединение закрыто.
ESTABLISHED - соединение установлено.
LISTENING - ожидается соединение (слушается порт)
TIME_WAIT - превышение времени ответа.

Имя программного модуля, связанного с данным соединением отображается, если задан параметр -b в командной строке при запуске netstat.exe.

netstat -a -b - получить список всех сетевых соединений и связанных с ними программ.

TCP 192.168.0.3:3389 89.22.52.11:5779 ESTABLISHED
CryptSvc

В данном примере отображается информация о соединении, в создании которого участвуют программные компоненты CryptSvc и svchost.exe .

netstat -ab - параметры командной строки можно объединять. Параметр -ab эквивалентен -a -b

netstat -e - получить статистические данные для обмена по протоколу Ethernet. Отображается суммарные значения принятых и полученных байт для всех сетевых адаптеров Ethernet.

Статистика интерфейса

netstat -e -v - кроме суммарной статистики, отображается информация об обмене данными через отдельные сетевые интерфейсы.

netstat -e -s - дополнительно к статистике Ethernet, отображается статистика для протоколов IP , ICMP , TCP , UDP

Статистика интерфейса

Статистика IPv4

Получено пакетов
Получено ошибок в заголовках
Получено ошибок в адресах
Направлено датаграмм

Отброшено полученных пакетов

Запросов на вывод
Отброшено маршрутов
Отброшено выходных пакетов

Требуется сборка
Успешная сборка
Сбоев при сборке


Создано фрагментов
= 10877781
= 0
= 27307
= 0
= 0
= 448
= 11384479
= 11919871
= 0
= 1517
= 6
= 0
= 0
= 0
= 5918
= 0
= 11836

Статистика IPv6

Получено пакетов
Получено ошибок в заголовках
Получено ошибок в адресах
Направлено датаграмм
Получено неизвестных протоколов
Отброшено полученных пакетов
Доставлено полученных пакетов
Запросов на вывод
Отброшено маршрутов
Отброшено выходных пакетов
Выходных пакетов без маршрута
Требуется сборка
Успешная сборка
Сбоев при сборке
Успешно фрагментировано датаграмм
Сбоев при фрагментации датаграмм
Создано фрагментов
= 0
= 0
= 0
= 0
= 0
= 0
= 391
= 921
= 0
= 0
= 14
= 0
= 0
= 0
= 0
= 0
= 0

Статистика ICMPv4

ICMPv6 Статистика

Статистика TCP для IPv4

Статистика TCP для IPv6

Статистика UDP для IPv4

Статистика UDP для IPv6

netstat -s -p icmp - получить статистику только по протоколу ICMP

Пример отображаемых статистических данных:

Статистика ICMPv4

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

netstat -e 3 - отображать статистику по Ethernet с интервалом 3 секунды.

netstat –f 10 - каждые 10 секунд отображать статистику сетевых соединений с использованием полных DNS-имен узлов.

netstat -n 5 | find /i "Established" - каждые 5 секунд отображать статистику по установленным соединениям.

Лабораторная работа № 03-005

Сетевая утилита netstat. Принципы работы и использование.

Утилита отображает активные и прослушиваемые порты TCP, статистики Ethernet, таблицы маршрутизации IP, статистики IPv4 (для протоколов IP, ICMP, TCP и UDP) и IPv6 (для протоколов IPv6, ICMPv6, TCP через IPv6 и UDP через IPv6). Запущенная без параметров, команда netstat отображает активные подключения TCP.

Синтаксис:

netstat [-a ] [-e ] [-n ] [-o ] [-p протокол ] [-r ] [-s ] [интервал ].

Параметры:

-a вывод всех активных подключений TCP и прослушиваемых компьютером портов TCP и UDP;

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

-e вывод статистики Ethernet, например количества отправленных и принятых байтов и пакетов. Этот параметр может комбинироваться с ключом -s ;

-n вывод активных подключений TCP с отображением адресов и номеров портов в числовом формате без попыток определения имен;

-o вывод активных подключений TCP и включение кода процесса (PID) для каждого подключения. Код процесса позволяет найти приложение на вкладке Процессы диспетчера задач Windows. Этот параметр может комбинироваться с ключами -a , -n и -p ;

-p протокол вывод подключений для протокола, указанного параметром протокол . В этом случае параметр протокол может принимать значения tcp , udp , tcpv6 или udpv6 . Если данный параметр используется с ключом -s для вывода статистики по протоколу, параметр протокол может иметь значение tcp , udp , icmp , ip , tcpv6 , udpv6 , icmpv6 или ipv6 ;

-r вывод содержимого таблицы маршрутизации IP. Эта команда эквивалентна команде route print ;

-s вывод статистики по протоколу. По умолчанию выводится статистика для протоколов TCP, UDP, ICMP и IP. Если установлен протокол IPv6 для Windows XP, отображается статистика для протоколов TCP через IPv6, UDP через IPv6, ICMPv6 и IPv6. Параметр -p может использоваться для указания набора протоколов;

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

интервал задаёт обновление выбранных данных с интервалом, определенным параметром интервал (в секундах). Нажатие клавиш CTRL+C останавливает обновление. Если этот параметр пропущен, netstat выводит выбранные данные только один раз.

/? о тображение справки в командной строке.

На сетевом уровне в стеке протоколов TCP/IP адресация осуществляется с использованием IP адресов. Но после того как пакет средствами протокола IP доставлен в компьютер-получатель с заданным IP адресом, данные необходимо направить конкретному прикладному процессу-получателю. Каждый компьютер может выполнять несколько процессов, более того, прикладной процесс может иметь несколько точек входа, одновременно выступающих в качестве получателей данных.

Обслуживание коммуникационных потребностей прикладных процессов осуществляет транспортный уровень стека протоколов, реализуемый программно в ядре операционной системы, в виде отдельного пользовательского процесса или в форме библиотечного модуля, загружаемого сетевым приложением. Пакеты, поступающие на транспортный уровень, организуются операционной системой в виде множества очередей к точкам входа различных прикладных процессов. В терминологии TCP/IP такие системные очереди называются портами . Порт - это программное понятие, которое используется клиентом или сервером для посылки или приема сообщений; порт идентифицируется 16-битовым числом. Таким образом, адресом назначения, который используется транспортным объектом, является идентификатор (номер) порта прикладной службы. Номер порта в совокупности с номером сети и номером конечного узла однозначно определяют прикладной процесс в сети. Этот набор идентифицирующих параметров имеет название сокет (socket) .

Назначение номеров портов прикладным процессам осуществляется либо централизованно , если эти процессы представляют собой популярные общедоступные службы (например, номер 21 закреплен за службой удаленного доступа к файлам FTP, a 23 - за службой удаленного управления telnet), либо локально для тех служб, которые еще не стали столь распространенными, чтобы закреплять за ними стандартные (зарезервированные) номера. Централизованное присвоение службам номеров портов выполняется организацией Internet Assigned Numbers Authority (IANA) . Эти номера затем закрепляются и опубликовываются в стандартах Internet .

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

Инициирующий соединение клиент, прежде чем пытаться установить соединение с удаленным сервером-приложением, запрашивает у своей ОС номер свободного порта. Порты с номерами 0 -1023 принято называть привилегированными, они практически все зарезервированы и не выделяются клиентским процессам. Это не означает, что не существует закрепленных номеров портов с большими номерами, но они используются гораздо реже и будучи свободными на данном хосте, вполне могут предоставляться в распоряжение программы-клиента.

UDP(UserDatagrammProtocol) простой, ориентированный на передачу датаграмм, протокол транспортного уровня: за один раз процесс выдает одну UDP датаграмму, в результате чего передается одна IP датаграмма. Протокол не устанавливает соединения и не подтверждает отправителю факта доставки сообщения.

TCP (Transmission Control Protocol) предоставляет основанный на соединении надежный сервис потока байтов. Он применяется в тех случаях, когда требуется гарантированная доставка сообщений. Он использует контрольные суммы пакетов для проверки их целостности и освобождает прикладные процессы от необходимости таймаутов и повторных передач для обеспечения надежности.

Термин "основанный на соединении" (connection-oriented) означает, что два приложения, использующие TCP (как правило, это клиент и сервер), должны установить TCP соединение друг с другом, после чего у них появляется возможность обмениваться данными.

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

Этапы, необходимые для установки и разрыва TCP соединения, могут быть представ-

лены в виде модели, имеющей 11 возможных состояний:

Состояние Описание

CLOSED Закрыто. Соединение не является активным и не находится в процессе установки

LISTEN Ожидание. Сервер ожидает входящего запроса

SYN RCVD Прибыл запрос соединения. Ожидание подтверждения

SYN SENT Запрос соединения послан. Приложение начало открывать соединение

ESTABLISHED Установлено. Нормальное состояние передачи данных

FINWAIT 1 Приложение сообщило, что ему больше нечего передавать

FINWAIT 2 Другая сторона согласна разорвать соединение

TIMED WAIT Ожидание, пока в сети не исчезнут все пакеты

CLOSING Обе стороны попытались одновременно закрыть соединение

CLOSE WAIT Другая сторона инициировала разъединение

LAST АСК Ожидание, пока в сети не исчезнут все пакеты

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

Каждое соединение начинается в состоянии CLOSED (закрытое). Оно может выйти из этого состояния, предпринимая либо активную (CONNECT), либо пассивную (LISTEN) попытку открыть соединение. Если противоположная сторона осуществляет противоположные действия, соединение устанавливается и переходит в состояние ESTABLISHED. Инициатором разрыва соединения может выступить любая сторона. По завершении процесса разъединения соединение возвращается в состояние CLOSED.

Вопросы для самопроверки

    Порт как элемент адресации транспортного уровня. Сокет.

    Локально и централизованно назначаемые порты.

    Основные протоколы транспортного уровня стека TCP/IP. Их краткая характеристика.

    Сопоставление сетевых подключений с процессами, функционирующими на компьютере.

    Параметры утилиты netstat.

Необходимое оборудование

IBM PC - совместимая ЭВМ с лицензионной операционной системой Windows, подключение к локальной сети, выход в интернет.

Задания

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

1. Воспользовавшись командой netstat просмотрите статистику работы Ethernet - подключения.

2. Воспользовавшись командой netstat просмотрите статистику работы сетевых протоколов.

3. Воспользовавшись командой netstat просмотрите статистику работы протокола ICMP (в выводе должны присутствовать данные только по этому протоколу).

4. Командой netstat просмотрите список всех подключений TCP и прослушиваемых портов UDP.

5. Запустите браузер и установите соединение с любым сайтом. Повторите предыдущее задания и прокомментируйте результат.

6. С помощью команды netstat определите любые 5 процессов, прослушивающих UDP порты. Укажите наименование процессов и номера прослушиваемых портов.

6. С помощью команды netstat определите активные TCP – подключения, номера их портов и имена исполняемых файлов приложений, использующих эти подключения.

Отчет о выполнении работы представьте в печатной или электронной форме с представлением копий экранов работы утилиты.

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

Для команды 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 существенно облегчают

Отображение активных подключений TCP, портов, прослушиваемых компьютером, статистики Ethernet, таблицы маршрутизации IP, статистики IPv4 (для протоколов IP, ICMP, TCP и UDP) и IPv6 (для протоколов IPv6, ICMPv6, TCP через IPv6 и UDP через IPv6). Запущенная без параметров, команда nbtstat отображает подключения TCP.

Синтаксис

netstat [-a ] [-e ] [-n ] [ -o ] [-p протокол ] [-r ] [-s ] [ интервал ]

Параметры

-a Вывод всех активных подключений TCP и прослушиваемых компьютером портов TCP и UDP. -e Вывод статистики Ethernet, например количества отправленных и принятых байтов и пакетов. Этот параметр может комбинироваться с ключом -s . -n Вывод активных подключений TCP с отображением адресов и номеров портов в числовом формате без попыток определения имен. -o вывод активных подключений TCP и включение кода процесса (PID) для каждого подключения. Код процесса позволяет найти приложение на вкладке Процессы диспетчера задач Windows. Этот параметр может комбинироваться с ключами -a , -n и -p . -p протокол Вывод подключений для протокола, указанного параметром протокол . В этом случае параметр протокол может принимать значения tcp , udp , tcpv6 или udpv6 . Если данный параметр используется с ключом -s для вывода статистики по протоколу, параметр протокол может иметь значение tcp , udp , icmp , ip , tcpv6 , udpv6 , icmpv6 или ipv6 . -s Вывод статистики по протоколу. По умолчанию выводится статистика для протоколов TCP, UDP, ICMP и IP. Если установлен протокол IPv6 для Windows XP, отображается статистика для протоколов TCP через IPv6, UDP через IPv6, ICMPv6 и IPv6. Параметр -p может использоваться для указания набора протоколов. -r Вывод содержимого таблицы маршрутизации IP. Эта команда эквивалентна команде route print . интервал Обновление выбранных данных с интервалом, определенным параметром интервал (в секундах). Нажатие клавиш CTRL+C останавливает обновление. Если этот параметр пропущен, netstat выводит выбранные данные только один раз. /? Отображение справки в командной строке.

Примечания

  • Параметрам, используемым с данной командой, должен предшествовать дефис (- ), а не косая черта (/ ).
  • Команда Netstat выводит статистику для следующих объектов.
    • Протокол

      Имя протокола (TCP или UDP).

    • Локальные адреса

      IP-адрес локального компьютера и номер используемого порта. Имя локального компьютера, соответствующее IP-адресу и имени порта, выводится только в том случае, если не указан параметр -n . Если порт не назначен, вместо номера порта будет выведена звездочка (*).

    • Внешние адреса

      IP-адрес и номер порта удаленного компьютера, подключенного к данному сокету. Имена, соответствующие IP-адресу и порту, выводятся только в том случае, если не указан параметр -n . Если порт не назначен, вместо номера порта будет выведена звездочка (*).

    • (Состояние)

      Указание состояния подключения TCP. Возможные значения:

    • Для получения дополнительных сведений о состояниях подключения TCP смотрите документ RFC 793.

  • Эта команда доступна, только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP) .

Примеры

Для вывода статистики Ethernet и статистики по всем протоколам введите следующую команду:

Для вывода статистики только по протоколам TCP и UDP введите следующую команду:

netstat -s -p tcp udp

Для вывода активных подключений TCP и кодов процессов каждые 5 секунд введите следующую команду:

Для вывода активных подключений TCP и кодов процессов каждые с использованием числового формата введите следующую команду:

Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).