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