There are three overloads for constructing a TcpListener:
Just bind to the IPAddress.Any - that's how this is usually done... not sure but it could be that you need to bind to IPAddress.IPv6Any too.
This SO post suggests that you bind to every IP addresse explicitly - and this SO post has code on how to get all IP adresses...
From MSDN:
If you do not care which local address is assigned, specify
IPAddress.Any
for the localaddr parameter, and the underlying service provider will assign the most appropriate network address.
From MSDN:
IPAddress.Any Field
Provides an IP address indicating that the server should listen for client activity on all network interfaces.