Вопрос

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

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

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

Это было полезно?

Решение

0.0.0.0 обычно относится к прослушиванию данных на всех интерфейсах.127.0.0.1 = Localhost (только ваш локальный интерфейс) Я не уверен [::

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

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

Другие советы

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

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

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

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

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

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

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

Как следует читать каждую часть внешнего адреса (часть1:часть2)?

  • часть1 — имя хоста или IP-адрес.
  • часть2 — это порт
  • Send-Q — это объем данных, отправленных приложением, но еще не подтвержденных другой стороной сокета.

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

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

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

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

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

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

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

    Разрыв соединения (модифицированное трехстороннее подтверждение связи).

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

    Укажите пояснения, как показано в Netstat:
    Объяснение состояния


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

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

    ESTABLISHED Клиент получил SYN сервера, и сеанс установлен.

    LISTEN Сервер готов принять соединение.

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

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

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

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

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

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

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top