Сведения о вопросе

Killer

02:05, 19th August, 2020

Теги

networking   netstat    

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

Просмотров: 447   Ответов: 7

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

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

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



  Сведения об ответе

ITSME

06:25, 25th August, 2020

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

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

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


  Сведения об ответе

$DOLLAR

16:57, 10th August, 2020

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

  • Если в столбце локальный адрес указано 0.0.0.0 , это означает, что порт прослушивает все 'network interfaces' (т. е. ваш компьютер, модем и сетевую карту).
  • Если он говорит 127.0.0.1 в столбце локальный адрес, это означает, что порт ONLY прослушивает соединения от самого PC, а не из интернета или сети. Никакой опасности там нет.
  • Если он отображает ваш online IP в столбце локальный адрес, это означает, что порт ONLY прослушивает соединения из интернета.
  • Если он отображает ваш local network IP в столбце локальный адрес, это означает, что порт ONLY прослушивает соединения из локальной сети.
  • Внешний адрес-адрес IP и номер порта удаленного компьютера,к которому подключен сокет. Имена, соответствующие адресу IP и Порту, отображаются, если не указан параметр-n. Если порт еще не установлен, номер порта отображается в виде звездочки (*). (из Википедии)


  Сведения об ответе

DAAA

21:32, 3rd August, 2020

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

0.0.0.0 означает, что приложение привязано ко всем ip-адресам с помощью определенного порта. MS информация здесь: http://support.microsoft.com/default.aspx?scid=kb; en-us;175952

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


  Сведения об ответе

pumpa

10:59, 2nd August, 2020

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

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


  Сведения об ответе

ITSME

21:21, 22nd August, 2020

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


  Сведения об ответе

dump

07:33, 20th August, 2020

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

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

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


  Сведения об ответе

ASSembler

16:40, 14th August, 2020

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться