В обох випадках інформація в основному не має сенсу, але вказує на більш-менш одне й те саме.
Ваша перша лінія є сокетом для прослуховування TCP. Поле локальної адреси вказує адресу та порт, на яких він приймає підключення, а стовпець віддаленої адреси нічого не значить, оскільки роз'єм прослуховування ще не має віддаленого кінця з'єднання. A підключено Роз'єм TCP буде показувати адресу іншого кінця з'єднання в цьому стовпці, але для сокету для прослуховування він вирішує відобразити адресу з нулем і порт.
Ваша друга лінія - це UDP-сокет. UDP є протоколом без з'єднання, що означає, що він посилає і отримує пакети без будь-якого уявлення про те, хто підключений до кого, чи є цей пакет частиною існуючої бесіди, або ж дані тільки що прийшли з блакитного. Локальний стовпець адреси має те ж саме значення, що і для TCP, а стовпець віддаленої адреси не має сенсу, тому що сокет UDP може мати один вузол, багато однорангових вузлів або жодних вузлів у будь-який момент. (Насправді POSIX має поняття "підключеного UDP-сокету", але це стає дещо іншим).
Тепер питання: чому вони відображаються по-різному? Здається, це не що інше, як привкус коду netstat Windows. З'являється Linux (net-tools) netstat 0.0.0.0:*
для віддаленого кінця обох протоколів прослуховування сокетів і сокетів UDP (для IPv4; він відображається :::*
для IPv6), який відрізняється від обох прикладів на Windows, але принаймні він відповідає одній програмі. Можливо, Windows збирається виділити семантичну відмінність між "бути заповненим пізніше" у випадку TCP і "відкритим для будь-якого" у випадку UDP, але так само ймовірно, що два біти коду були написані двома різними людьми без Особливу стурбованість викликає послідовність.
*:*
є IPv6 час0.0.0.0:0
є IPv4.