It has been pointed out that my answer was in error. Since I cannot delete it, I will instead provide the correct one.
The expression *:*
means "Any Address, Any port". All UDP listeners will display this signature. This is due to the connectionless nature of UDP.
Original (incorrect) answer.
Yes and no. *:*
refers to ANY IPv6 address. The distinction between an unknown/unspecified address is vague in IPv4, so we use 0.0.0.0/0 to represent any host on the network, but in IPv6 there is a subtle difference.
For the most part however, people use ::
to represent a contiguous string of 0's.
In an IPv6 address, any sequence of contiguous zeros can be replaced with ::
so:
0.0.0.0/0
=> 0000:0000:0000:0000:0000:0000:0000:0000 => ::
=> *:*
fe80:0000:0000:0000:2000:0aff:fea7:0f7c
=> fe80::2000:0aff:fea7:0f7c
The representation using wildcards however allows a finer control of address patterns. For instance, ::
would not match fe80::2000:0aff:fea7:0f7c
, but *:*
will.
This difference isn't really meaningful to any device that isn't performing routing, but when it comes time to select optimal routes to aggregated address spaces, the wildcard notation allows more flexible selection of destination networks.
*:*
is IPv6 while0.0.0.0:0
is IPv4.UDP 0.0.0.0:5355 *:*
, does that mean that data can be sent between IPv4 and IPv6?*:*
doesn't say anything about the IP version. However since the local address of that socket is IPv4 only, then the remote address has to be IPv4 as well.