Java Program to Get System IP Address in Windows and Linux Machine
Last Updated :
19 Aug, 2021
IP Address: An Internet Protocol address is a numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication.
Packages used:
- io (input-output): This package provides for system input and output through data streams, serialization, and the file system.
- net (network): This package provides the classes for implementing networking applications.
- util (utility): It contains the collection framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes
Methods Used:
1. getInetAddresses()
Syntax:
public Enumeration getInetAddresses()
Return Type: It returns an Enumeration of InetAddress.
2. getInterfaceAddresses()
Syntax:
public List getInterfaceAddresses()
Return Type: It returns a list of java.net.InterfaceAddress instances.
Below is the implementation of the problem statement:
Java
import static java.lang.System.out;
import java.io.*;
import java.net.*;
import java.util.*;
public class gfg {
public static void main(String args[])
throws SocketException
{
Enumeration<NetworkInterface> nets
= NetworkInterface.getNetworkInterfaces();
for (NetworkInterface netint :
Collections.list(nets))
displayInterfaceInformation(netint);
}
static void
displayInterfaceInformation(NetworkInterface netint)
throws SocketException
{
out.printf( "Display name: %s\n" ,
netint.getDisplayName());
out.printf( "Name: %s\n" , netint.getName());
Enumeration<InetAddress> inetAddresses
= netint.getInetAddresses();
for (InetAddress inetAddress :
Collections.list(inetAddresses)) {
out.printf( "System IP: %s\n" , inetAddress);
}
out.printf( "\n" );
}
}
|
Output
Display name: eth0
Name: eth0
Display name: lo
Name: lo
System IP: /127.0.0.1
Output in Windows:
Output in Linux:
Share your thoughts in the comments
Please Login to comment...