Подтвердить что ты не робот

Как интерпретировать вывод "netstat -a"

Некоторые вещи кажутся мне странными:

  • В чем разница между 0.0.0.0, 127.0.0.1 и [::]?
  • Как следует читать каждую часть внешнего адреса (part1: part2)?
  • Что означает состояние Time_Wait, Close_Wait?
  • и др.

Может ли кто-нибудь дать краткий обзор того, как интерпретировать эти результаты?

4b9b3361

Ответ 1

0.0.0.0 обычно относится к материалам, прослушивающим все интерфейсы. 127.0.0.1 = localhost (только ваш локальный интерфейс) Я не уверен в [::]

TIME_WAIT означает, что обе стороны договорились закрыть и TCP теперь должен ждать заданное время, прежде чем принимать соединение вниз.

CLOSE_WAIT означает, что удаленная система завершила отправку и ваша система еще должна сказать, что это закончено.

Ответ 2

Я понимаю, что ответ принят, но вот дополнительная информация:

  • Если в столбце "Локальный адрес" указано 0.0.0.0, это означает, что порт прослушивает все "сетевые интерфейсы" (т.е. ваш компьютер, модем и сетевые карты).
  • Если в столбце "Локальный адрес" указано 127.0.0.1, это означает, что порт ТОЛЬКО прослушивает подключения с вашего ПК, а не из Интернета или сети. Там нет опасности.
  • Если он отображает ваш online IP в столбце "Локальный адрес", это означает, что порт ТОЛЬКО прослушивает подключения из Интернета.
  • Если он отображает ваш local network IP в столбце "Локальный адрес", это означает, что порт ТОЛЬКО прослушивает подключения из локальной сети.
  • Внешний адрес - IP-адрес и номер порта удаленного компьютера, к которому подключен сокет. Имена, соответствующие IP-адресу и порту, отображаются, если не указан параметр -n. Если порт еще не установлен, номер порта отображается как звездочка (*). (из Википедии)

Ответ 3

127.0.0.1 - это ваш loopback-адрес, также известный как "localhost", если он установлен в вашем файле HOSTS. См. Здесь для получения дополнительной информации: http://en.wikipedia.org/wiki/Localhost

0.0.0.0 означает, что приложение привязано ко всем IP-адресам, используя определенный порт. MS info здесь: http://support.microsoft.com/default.aspx?scid=kb;en-us;175952

'::' - сокращение ipv6 для ipv4 0.0.0.0.

Ответ 4

В чем разница между 0.0.0.0, 127.0.0.1 и [::]?

  •   
  • 0.0.0.0 указывает на то, что прослушивает все интерфейсы на машине.  
  • 127.0.0.1 указывает вашу собственную машину.  
  • [::] - версия IPv6 0.0.0.0  
  • Моя машина также показывает *:\* для UDP, который показывает, что UDP-соединения действительно не имеют внешнего адреса - они получают пакеты из любого места. Такова природа UDP.

 

Как следует читать каждую часть чужого адреса (part1: part2)?

    part1 - это имя хоста или IP-адрес part2 - это порт

Ответ 5

Send-Q - это объем данных, отправленных приложением, но еще не подтвержденный другой стороной сокета.

Recv-Q - это объем данных, полученных от сетевого адаптера, но еще не потребляемый приложением.

Обе эти очереди находятся в памяти ядра. Существуют руководства, чтобы помочь вам настроить эти буферы ядра, если вы так склонны. Хотя, вы можете найти параметры по умолчанию, достаточно хорошо.

Ответ 6

Эта ссылка очень помогла мне интерпретировать netstat -a

Копия оттуда -

TCP Connection States
Ниже приводится краткое объяснение этого рукопожатия. В этом контексте "клиент" - это одноранговый узел, запрашивающий соединение, а "сервер" - это тот, кто принимает соединение. Обратите внимание, что эта нотация не отражает отношения Client/Server как архитектурный принцип.

Установление соединения

Клиент отправляет на сервер SYN-сообщение, содержащее порт сервера и начальный порядковый номер клиента (ISN) (активный открытый).
Сервер отправляет обратно свои собственные SYN и ACK (который состоит из клиента ISN + 1).
Клиент отправляет ACK (который состоит из сервера ISN + 1).

Соединение Срыв (измененное трехстороннее квитирование).

Клиент отправляет FIN (активное закрытие). Это теперь полузакрытое соединение. Клиент больше не отправляет данные, но все еще может получать данные с сервера. Получив этот FIN, сервер переходит в состояние пассивного закрытия.
Сервер отправляет ACK (который является последовательностью FIN FIN + 1)
Сервер отправляет свой собственный FIN.
Клиент отправляет ACK (который представляет собой последовательность FIN сервера + 1). После получения этого ACK сервер закрывает соединение.
Полузакрытое соединение может использоваться для прекращения отправки данных во время приема данных порога. Приложения сокета могут вызывать выключение со вторым аргументом, установленным в 1, чтобы ввести это состояние.

Объяснение состояний, показанное в Netstat:
Пояснение по стране


SYN_SEND Указывает на активное открытие.

SYN_RECEIVED Сервер только что получил SYN от клиента.

ESTABLISHED Установлен клиентский сервер SYN и сеанс.

LISTEN Сервер готов к подключению.

ПРИМЕЧАНИЕ. См. документацию для вызова сокета listen(). Сокеты TCP в состоянии прослушивания не отображаются - это ограничение NETSTAT. Для получения дополнительных сведений обратитесь к следующей статье Microsoft Knowledge Base: 134404 NETSTAT.EXE не показывает порты прослушивания TCP FIN_WAIT_1 Показывает активное закрытие.

TIMED_WAIT Клиент вводит это состояние после активного закрытия.

CLOSE_WAIT Указывает на пассивное закрытие. Сервер только что получил первый FIN от клиента.

FIN_WAIT_2 Клиент только что получил подтверждение своего первого FIN с сервера.

LAST_ACK Сервер находится в этом состоянии, когда он отправляет свой собственный FIN.

CLOSED Сервер, полученный ACK от клиента и соединение, закрыт.

Ответ 7

Для тех, кто видит [::] в своем выходе netstat, я уверен, что на вашем компьютере работает IPv6; который будет эквивалентен 0.0.0.0, то есть прослушивать любой адрес IPv6.