An IP(Internet Protocol) address is an identifier assigned to each computer and other device(e.g., router, mobile, etc) connected to a TCP/IP network that is used to locate and identify the node in communication with other nodes on the network. IP addresses are usually written and displayed in human-readable notation such as 192.168.1.35 in IPv4(32-bit IP address).
An IP address serves two principle functions : host or network interface identification and local addressing. It’s role has been characterized as follows : “A name indicate what we seek. An address indicate where it is. A route indicate how to get there.”
Prerequisites : Networking in Java | Set 1 (InetAddress class), trim() in Java.
InetAddress.getLocalHost() is used to find private IP address used in LAN or any other local network.
To find public IP, we use http://bot.whatismyipaddress.com (An online utility to find your public IP), we open the URL, read a line and print the line.
Below is Java implementation of above steps.
// Java program to find IP address of your computer // java.net.InetAddress class provides method to get // IP of any host name import java.net.*; import java.io.*; import java.util.*; import java.net.InetAddress; public class JavaProgram { public static void main(String args[]) throws Exception { // Returns the instance of InetAddress containing // local host name and address InetAddress localhost = InetAddress.getLocalHost(); System.out.println( "System IP Address : " + (localhost.getHostAddress()).trim()); // Find public IP address String systemipaddress = "" ; try { BufferedReader sc = new BufferedReader( new InputStreamReader(url_name.openStream())); // reads system IPAddress systemipaddress = sc.readLine().trim(); } catch (Exception e) { systemipaddress = "Cannot Execute Properly" ; } System.out.println( "Public IP Address: " + systemipaddress + "\n" ); } } |
Output:
System IP Address : 10.0.8.204 Public IP Address : 35.166.48.97
Note : The above output is for machine that is used by GeeksforGeeks online compiler, ide.geeksforgeeks.org
This article is contributed by Pramod Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.