public class NetInfo { public static void main(String[] args) { new NetInfo().say(); } public void say() { try { java.net.InetAddress i = java.net.InetAddress.getLocalHost(); System.out.println(i); // name and IP address System.out.println(i.getHostName()); // name System.out.println(i.getHostAddress()); // IP address only } catch(Exception e){e.printStackTrace();} } }
The output:
> java NetInfo realone/209.142.72.112 realone 209.142.72.112
To list all the interfaces available on a workstation:
import java.net.*; import java.util.*; import java.io.*; import java.nio.*; public class IPAdress { public void getInterfaces (){ try { Enumeration e = NetworkInterface.getNetworkInterfaces(); while(e.hasMoreElements()) { NetworkInterface ni = (NetworkInterface) e.nextElement(); System.out.println("Net interface: "+ni.getName()); Enumeration e2 = ni.getInetAddresses(); while (e2.hasMoreElements()){ InetAddress ip = (InetAddress) e2.nextElement(); System.out.println("IP address: "+ ip.toString()); } } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { IPAdress ip = new IPAdress(); ip.getInterfaces(); } }
The output:
> java IPAdress Net interface: lo IP address: /127.0.0.1 Net interface: eth0 IP address: /194.168.0.1 Net interface: eth1 IP address: /164.254.147.20 Net interface: ppp0 IP address: /64.68.115.69
Windows
A “low-tech” way to get the computer name (can be useful if there is no network card) is to use the environment variable COMPUTERNAME (at least on modern Windows installation).
[JDK1.4 or less] Pass it to your JVM as java -Dcomputername=”%COMPUTERNAME%” … and then get the value with System.getProperty(“computername”)
[JDK1.5 or more] You can extract environment variables directly with System.getenv(“COMPUTERNAME”)
Done! Happy coding!
Related posts:
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Server-Sent Events in Spring
Quick Guide to java.lang.System
Hướng dẫn Java Design Pattern – Abstract Factory
Using JWT with Spring Security OAuth (legacy stack)
A Guide to Concurrent Queues in Java
Comparing Objects in Java
String Initialization in Java
Apache Commons Collections OrderedMap
Java Program to Check the Connectivity of Graph Using BFS
Spring’s RequestBody and ResponseBody Annotations
String Joiner trong Java 8
Hướng dẫn Java Design Pattern – Memento
Introduction to Spring Data REST
Java Program to Generate All Possible Subsets with Exactly k Elements in Each Subset
Spring Boot with Multiple SQL Import Files
Filtering a Stream of Optionals in Java
JUnit5 Programmatic Extension Registration with @RegisterExtension
Transactions with Spring and JPA
Daemon Threads in Java
Extract network card address
Java Program to Implement Double Order Traversal of a Binary Tree
Java Program to Generate Randomized Sequence of Given Range of Numbers
@DynamicUpdate with Spring Data JPA
Java Program to Perform Partial Key Search in a K-D Tree
Test a REST API with Java
Iterable to Stream in Java
Custom HTTP Header with the HttpClient
Guide to BufferedReader
ArrayList trong java
Shuffling Collections In Java
Cơ chế Upcasting và Downcasting trong java