В обоих случаях информация в основном бессмысленна, но указывает более или менее на одно и то же.
Ваша первая строка - это прослушивающий сокет TCP. Столбец локального адреса указывает адрес и порт, на котором он принимает соединения, а столбец удаленного адреса ничего не значит, потому что у прослушивающего сокета еще нет удаленного конца соединения. Подключенный TCP-сокет будет показывать адрес другого конца соединения в этом столбце, но для прослушивающего сокета он решит отобразить адрес с нулевым адресом и порт.
Ваша вторая строка - это сокет UDP. UDP - это протокол без установления соединения, который означает, что он отправляет и принимает пакеты без какого-либо представления о том, кто к кому подключен, является ли пакет частью существующего диалога, или же данные просто поступили неожиданно. Столбец локального адреса имеет то же значение, что и для TCP, а столбец удаленного адреса не имеет смысла, поскольку сокет UDP может иметь один одноранговый узел, множество одноранговых узлов или не иметь одноранговых узлов в любой момент. (На самом деле у POSIX есть понятие «подключенный UDP-сокет», но это становится немного далеким).
Теперь вопрос: почему они отображаются по-разному? Кажется, это не что иное, как причудливый код Windows netstat. Netstat Linux (net-tools) отображает 0.0.0.0:*
для удаленного конца как сокетов прослушивания TCP, так и сокетов UDP (для IPv4; отображает :::*
для IPv6), что отличается от любого примера в Windows, но в по крайней мере, это соответствует в той же программе. Возможно, Windows собирается провести семантическое различие между "быть заполненным позже" в случае TCP и "открытым для чего угодно" в случае UDP, но с той же вероятностью два бита кода были написаны двумя разными людьми без Особая забота о последовательности.