6.1K
Recently, I have to find IP addresses for a bunch of hosts from a text file. This JAVA program uses Windows nslookup command to find the IP from a host. The input parameter is a text file with the names of the hosts, each host in a separate line.
e.g.
hostname1
hostname2
The output is on the screen in the form of:
hostname1
hostname2
You can redirect this output to a file “>” and import it in a spreadsheet program.
package host2ip; import java.io.*; public class Main { public static void main(String[] args) { String strIP = null; String strInput = null; try{ FileInputStream fstream = new FileInputStream(args[0]); DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine; while ((strLine = br.readLine()) != null){ try { Process p = Runtime.getRuntime().exec("nslookup " + strLine); BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream())); while ((strInput = stdInput.readLine()) != null) { if (strInput.contains("Address: ")){ strIP = strInput.substring(10); } } System.out.println(strLine + " " + strIP); } catch (IOException e) { System.out.println("Exception: "); e.printStackTrace(); System.exit(-1); } } in.close(); } catch (Exception e){ System.err.println("Error: " + e.getMessage()); } } }