нетстат
Эта статья нуждается в дополнительных цитатах для проверки . ( август 2012 г. ) |
Разработчик(и) | Различные с открытым исходным кодом и коммерческие разработчики разработчики |
---|---|
Первоначальный выпуск | 1983 год |
Написано в | План 9: С |
Операционная система | Unix , Unix-подобные , Plan 9 , Inferno , OS/2 , Microsoft Windows , ReactOS |
Платформа | Кросс-платформенный |
Тип | Команда |
Лицензия | OS/2, Windows: собственное коммерческое программное обеспечение. сетевые инструменты, ReactOS: GPLv2 План 9: МОЯ лицензия |
В вычислениях , netstat
( сетевая работы статистика , ) — командной строки сетевая утилита , которая отображает сетевые подключения для протокола управления передачей (как входящие, так и исходящие), таблицы маршрутизации а также количество сетевых интерфейсов ( контроллер сетевого интерфейса или программно-определяемый сетевой интерфейс ) и сетевых интерфейсов. Статистика протокола. Он доступен в Unix , Plan 9 , Inferno и Unix-подобных операционных системах, включая macOS , Linux , Solaris и BSD . Он также доступен в IBM OS/2 и в Microsoft Windows NT операционных системах на базе , включая Windows XP , Windows Vista , Windows 7 , Windows 8 и Windows 10 .
Он используется для обнаружения проблем в сети и для определения объема трафика в сети в качестве показателя производительности. [ 1 ] В Linux эта программа по большей части устарела, хотя все еще включена во многие дистрибутивы.
В Linux, netstat
(часть «net-tools») заменяется ss
(часть iproute2 ). Замена для netstat -r
является ip route
, замена для netstat -i
является ip -s link
, и замена на netstat -g
является ip maddr
, все из которых рекомендуются вместо этого. [ 2 ] [ 3 ] [ 4 ] [ 5 ]
Статистика предоставлена
[ редактировать ]Netstat предоставляет статистику по следующему:
- Proto — имя протокола ( TCP или UDP ).
- Локальный адрес – IP- адрес локального компьютера и номер используемого порта. Имя локального компьютера, соответствующее IP- адресу, и имя порта отображаются, если
-n
указан параметр. Звездочка (*) обозначает хост, если сервер прослушивает все интерфейсы. Если порт еще не установлен, номер порта отображается звездочкой. - Внешний адрес — IP- адрес и номер порта удаленного компьютера, к которому подключен сокет. Имена, соответствующие IP- адресу и порту, отображаются, если только
-n
указан параметр. Если порт еще не установлен, номер порта отображается звездочкой (*). - Состояние — указывает состояние TCP -соединения. Возможные состояния следующие: CLOSE_WAIT, CLOSED, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, LAST_ACK, LISTEN, SYN_RECEIVED, SYN_SEND и ВРЕМЯ_ОЖИДАНИЕ . Дополнительные сведения о состояниях TCP-соединения см. РФК 793 .
Параметры
[ редактировать ]Параметры, используемые с этой командой, должны начинаться с дефиса ( - ), а не косая черта ( / ). Некоторые параметры поддерживаются не на всех платформах.
Имя | Описание | Окна | РеактОС | macOS | БСД | NetBSD | FreeBSD | Линукс | Солярис | ОС/2 |
---|---|---|---|---|---|---|---|---|---|---|
-а | Отображает все TCP и UDP, активные соединения и порты которые прослушивает компьютер. | Да | Да | Да | ||||||
-б | Отображает имя двоичной (исполняемой) программы, участвующей в создании каждого соединения или порта прослушивания. ( Windows XP , Windows Server 2003 и более поздние операционные системы Windows; не Microsoft Windows 2000 или более ранние версии). | Да | Нет | Нет | ||||||
-б | Причины -i, чтобы сообщить общее количество байтов трафика. | Нет | Да | Да | Нет | |||||
-и | Отображает статистику Интернета , например количество отправленных и полученных байтов и пакетов. Этот параметр можно комбинировать с -с . | Да | Да | Нет | ||||||
-ф | Отображает полные доменные имена <FQDN> для внешних адресов (доступно только в Windows Vista и более новых операционных системах). | Да | Нет | Нет | ||||||
-f Семейство адресов | Ограничивает отображение определенным семейством адресов сокетов: unix , inet , inet6. | Нет | Да | Нет | ||||||
-г | Отображает информацию о членстве в группе многоадресной рассылки как для IPv4, так и для IPv6 (может быть доступно только в более новых операционных системах). | Нет | Нет | Да | ||||||
-я | Отображает сетевые интерфейсы и их статистику. | Нет | Нет | Да | ||||||
-м | Отображает статистику памяти для сетевого кода (статистика STREAMS в Solaris). | Нет | Нет | |||||||
-н | Отображает активные TCP-соединения, однако адреса и номера портов выражаются в цифрах, и попытки определить имена не предпринимаются. | Да | Да | Да | ||||||
- | Отображает активные TCP-соединения и включает идентификатор процесса (PID) для каждого соединения. Найти приложение по PID можно на «Процессы» вкладке в диспетчере задач Windows . Этот параметр можно комбинировать с -а, -н и -п . Этот параметр доступен в Microsoft Windows XP , Windows Server 2003 и Windows 2000 , если установлено исправление. [ 6 ] | Да | Нет | Нет | ||||||
-p протокол | Показывает соединения для протокола , указанного в поле протокол . В этом случае протоколом может быть tcp, udp, tcpv6 или udpv6 . Если этот параметр используется с -s для отображения статистики по протоколу, протокол может быть tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6 или ipv6 . | Да | Да | Да | ||||||
-п | Покажите, какие процессы используют какие сокеты (аналогично -b в Windows) (для этого вы должны быть пользователем root) | Нет | Нет | Да | ||||||
-P протокол | Показывает соединения для протокола , указанного в поле протокол . В этом случае протоколом может быть ip, ipv6, icmp, icmpv6, igmp, udp, tcp или rawip . | Нет | Нет | Да | ||||||
-р | Отображает содержимое IP - таблицы маршрутизации . (Это эквивалентно команде печати маршрута в Windows.) | Да | Да | Да | Да | |||||
-с | Отображает статистику по протоколу. По умолчанию статистика отображается для протоколов TCP , UDP , ICMP и IP . Если установлен протокол IPv6 для Windows XP, статистика отображается для протоколов TCP через IPv6 , UDP через IPv6, ICMPv6 и IPv6. Параметр -p можно использовать для указания набора протоколов. | Да | Да | Да | ||||||
-т | Отображать только TCP-соединения. | Нет | Да | Да | ||||||
-в | Отображать только UDP-соединения. | Нет | Нет | Да | Да | |||||
-В | Отображение широкого вывода — не обрезает имена хостов или адреса IPv6. | Нет | Нет | Да | Нет | |||||
-х | Отображает подключения NetworkDirect, прослушиватели и общие конечные точки. | Да | ||||||||
-и | Отображает шаблон TCP-соединения для всех соединений. Невозможно объединить с другими параметрами. | Да | ||||||||
-v | При использовании совместно с -b отобразит последовательность компонентов, участвующих в создании соединения или порта прослушивания для всех исполняемых файлов. | Да | Нет | Нет | ||||||
Интервал | Повторно отображает выбранную информацию каждые секунды. Нажмите CTRL+C, чтобы остановить повторное отображение. Если этот параметр опущен, netstat печатает выбранную информацию только один раз. | Да | Да | Нет | ||||||
-час | Отображает справку в командной строке. | Да | Нет | Да | Да | Да | Да | Да | Да | Нет |
-? | Отображает справку в командной строке. | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да |
/? | Отображает справку в командной строке. | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
Примеры
[ редактировать ]Кросс-платформа
[ редактировать ]В macOS, системах BSD, дистрибутивах Linux и Microsoft Windows:
Чтобы отобразить статистику TCP или UDP только для протоколов , введите одну из следующих команд:
netstat -sp tcp
netstat -sp udp
Unix-подобный
[ редактировать ]В Unix-подобных системах:
Чтобы отобразить все порты, открытые процессом с идентификатором pid :
netstat -aop | grep "pid"
Чтобы постоянно отображать открытые соединения TCP и UDP в числовом виде, а также то, какая программа их использует в Linux:
netstat -nutpacw
Окна
[ редактировать ]В Microsoft Windows:
Чтобы отображать активные TCP-соединения и идентификаторы процессов каждые 5 секунд, введите следующую команду (работает только в системах на базе NT или Windows 2000 с исправлением):
netstat -o 5
Чтобы отобразить активные TCP-соединения и идентификаторы процессов в числовой форме, введите следующую команду (работает только в системах на базе NT или Windows 2000 с исправлением):
netstat -no
*никс
[ редактировать ]Команда | Объяснение |
---|---|
netstat -a |
Показывает все сокеты, как прослушиваемые, так и не прослушиваемые, все протоколы, такие как TCP, UDP и т. д. |
netstat -at |
Показывает только TCP-соединения (-au показывает только UDP-соединения). |
netstat -ant |
Показывает все TCP-соединения без разрешения DNS (вместо этого отображаются IP-адреса). |
netstat -al |
Показывает только прослушиваемые сокеты. |
netstat -aep |
Также покажите PID и то, какой программе принадлежит каждый сокет, e добавляет дополнительную информацию, например, о пользователе. Запустите от имени пользователя root, чтобы увидеть все PID. |
netstat -s > file2.txt |
Показывает сетевую статистику. |
netstat -r |
Показывает информацию о маршрутизации ядра. Это тот же результат, что и для маршрута -e. |
netstat -i |
Отображает таблицу всех сетевых интерфейсов. Добавьте -e, чтобы получить вывод, аналогичный ifconfig. |
netstat -ct |
Постоянно отображает TCP-соединения. |
netstat -g
|
Отображение информации о членстве в группе многоадресной рассылки для IPv4 и IPv6. |
netstat -lntu
|
Отобразить все службы, прослушивающие TCP и UDP, все свободные открытые порты на локальном компьютере. |
netstat -atnp | grep ESTA
|
Отображает все «установленные» TCP-соединения. |
Подстановочные знаки
[ редактировать ]Netstat использует звездочку * в качестве подстановочного знака, что означает «любой». Примером может быть
Пример вывода:
....Local Address Foreign Address State
... *:smtp *:* LISTEN
В разделе «Локальный адрес» * в *:smtp
, означает, что процесс прослушивает на всех сетевых интерфейсах машины порт, сопоставленный с smtp (см. /etc/services для разрешения служб). Это также может быть показано как 0.0.0.0.
Первый *, в *:*
, означает, что соединения могут осуществляться с любого IP-адреса, а второй * в *:*
, означает, что соединение может происходить с любого порта удаленного компьютера.
Предостережения
[ редактировать ]Некоторые версии netstat
отсутствуют явные разделители полей в выводе, сгенерированном printf, что приводит к совмещению числовых полей и, таким образом, к повреждению выходных данных.
Замечания по конкретной платформе
[ редактировать ]В Linux необработанные данные часто можно получить из /proc/net/dev, чтобы обойти повреждение вывода printf , возникающее в сводке статистики сетевого интерфейса netstat. netstat -i
, пока проблема не будет устранена. [ нужна ссылка ]
На платформе Windows информацию netstat можно получить, вызвав функции GetTcpTable и GetUdpTable IP Helper в API-интерфейсе или IPHLPAPI.DLL. Возвращаемая информация включает локальные и удаленные IP-адреса , локальные и удаленные порты и (для GetTcpTable) TCP коды состояния . Помимо инструмента командной строки netstat.exe, поставляемого с Windows, графическим интерфейсом доступны программы netstat с .
На платформе Windows эта команда доступна только в том случае, если протокол Интернета ( TCP / IP ) установлен как компонент в свойствах сетевого адаптера в Сетевых подключениях.
На платформе Windows , на которой работают службы удаленных рабочих столов (ранее службы терминалов), отображаются соединения только для текущего пользователя, а не для всего компьютера.
В macOS папка /System/Library/CoreServices/Applications (или /Applications/Utilities в OS X Mountain Lion и более ранних версиях) содержит сетевую утилиту с графическим интерфейсом под названием Network Utility , вкладка Netstat которой запускает команду netstat и отображает ее выходные данные в вкладка.
См. также
[ редактировать ]- ss , утилита Linux для исследования сокетов из iproute2, предназначенная для замены netstat.
- лсоф -я
- блин
Ссылки
[ редактировать ]- ^ «Информационный центр IBM Systems» . IBM.com . 8 мая 2007 г.
- ^ «сетевые инструменты» . linuxfoundation.org . Архивировано из оригинала 11 июня 2016 г. Проверено 2 августа 2014 г.
- ^ «Арк Линукс» . Archlinux.org . 8 июня 2011 г.
- ^ «Устаревшие сетевые команды Linux и их замены» . Технический блог Дуга Витале . 21 декабря 2011 г.
- ^ «Справочная страница netstat (раздел примечаний)» . Проверено 2 августа 2014 г.
Эта программа устарела. Замена netstat — ss. Замена netstat -r — ip маршрут. Заменой netstat -i является ссылка ip -s. Замена netstat -g — ip maddr.
- ^ «Команда netstat теперь может отображать идентификаторы процессов, соответствующие активным соединениям TCP или UDP в Windows 2000» . Архивировано из оригинала 24 августа 2007 года.
Дальнейшее чтение
[ редактировать ]- Дайсон, Питер (1995). Освоение OS/2 Warp . Сайбекс . ISBN 978-0782116632 .
- Станек, Уильям Р. (2008). Карманный консультант администратора командной строки Windows, 2-е издание . Майкрософт Пресс . ISBN 978-0735622623 .
Внешние ссылки
[ редактировать ]- Linux программиста Руководство – Администрирование и привилегированные команды –
- FreeBSD по основным командам Руководство –
- Solaris 11.4 по командам системного администрирования Справочное руководство –
- Inferno по общим командам Руководство –
- Microsoft TechNet: Netstat — документация для программы командной строки Windows netstat.exe.
- страница проекта net-tools на SourceForge
- Команда Netstat : WindowsCMD.com. Архивировано 11 января 2022 г. на Wayback Machine.