How to get the IP address of a machine in C#

.net, c#, ip-address

Solution

IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());

Your machine doesn't have a single IP address, and some of the returned addresses can be IPv6.

MSDN links:

- Dns.GetHostAddresses

- IPAddress

Alternatively, as MSalters mentioned, `127.0.0.1` / `::1` is the loopback address and will always refer to the local machine. For obvious reasons, however, it cannot be used to connect to the local machine from a remote machine.

Problem

How do I get the IP address of a machine in C#?

Original source