Network interface is the point of interconnection between a computer and a network. A network interface is generally a network interface card (NIC).
Note:
A NIC is need not be a hardware, it can be software also,
Network Interface Card
A network interface card (NIC) is a circuit board that is installed in a computer so that it can be connected to a network.
Using NetworkInterface, you can specify which NIC to use for a particular network activity. By using NetworkInterface class, you can get the information about configured NICs in your machine.
import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; public class Main { public static void main(String args[]) throws SocketException { Enumeration<NetworkInterface> interfaces = NetworkInterface .getNetworkInterfaces(); while (interfaces.hasMoreElements()) { System.out.println(interfaces.nextElement().getName()); } } }
Sample Output
en3 en0 lo0
How to getNetworkInterface Object
NetworkInterface class provides following factory methods, to get an instance of NetworkInterface class.
static NetworkInterface getByIndex(int index)
static NetworkInterface getByInetAddress(InetAddress addr)
static NetworkInterface getByName(String name)
static Enumeration<NetworkInterface> getNetworkInterfaces()
a. static NetworkInterface getByIndex(int index)
Get a network interface given its index or null if there is no interface with such an index on the system.
Get a network interface given its index or null if there is no interface with such an index on the system.
import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Collections; import java.util.Enumeration; import java.util.List; public class Main { public static void main(String args[]) throws SocketException { NetworkInterface nif = NetworkInterface.getByIndex(1); System.out.println(nif.getDisplayName()); Enumeration<InetAddress> addresses = nif.getInetAddresses(); List<InetAddress> addrList = Collections.list(addresses); for(InetAddress addr : addrList){ System.out.println(addr); } } }
b. static NetworkInterface getByInetAddress(InetAddress addr)
import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.UnknownHostException; import java.util.Collections; import java.util.Enumeration; import java.util.List; public class Main { public static void main(String args[]) throws SocketException, UnknownHostException { InetAddress local = InetAddress.getByName("127.0.0.1"); NetworkInterface nif = NetworkInterface.getByInetAddress(local); System.out.println(nif.getDisplayName()); Enumeration<InetAddress> addresses = nif.getInetAddresses(); List<InetAddress> addrList = Collections.list(addresses); for (InetAddress addr : addrList) { System.out.println(addr); } } }
c. static NetworkInterface getByName(String name)
import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Collections; import java.util.Enumeration; import java.util.List; public class Main { public static void main(String args[]) throws SocketException { NetworkInterface nif = NetworkInterface.getByName("en3"); System.out.println(nif.getDisplayName()); Enumeration<InetAddress> addresses = nif.getInetAddresses(); List<InetAddress> addrList = Collections.list(addresses); for(InetAddress addr : addrList){ System.out.println(addr); } } }
d. static Enumeration<NetworkInterface> getNetworkInterfaces()
import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.UnknownHostException; import java.util.Collections; import java.util.Enumeration; import java.util.List; public class Main { public static void main(String args[]) throws SocketException, UnknownHostException { Enumeration<NetworkInterface> interfaces = NetworkInterface .getNetworkInterfaces(); while (interfaces.hasMoreElements()) { NetworkInterface nif = interfaces.nextElement(); System.out.println(nif.getDisplayName()); Enumeration<InetAddress> addresses = nif.getInetAddresses(); List<InetAddress> addrList = Collections.list(addresses); for (InetAddress addr : addrList) { System.out.println(addr); } } } }
Referred Articles
No comments:
Post a Comment