01: //***** Socket basics: first, "blocking" sockets 02: 03: import java.net.Socket; 04: import java.net.UnknownHostException; 05: import java.io.IOException; 06: 07: public class PortProbe { 08: public static void main(String[ ] args) { 09: if (args.length < 1) { 10: System.err.println("Usage: PortProbe <IP address>"); 11: return; 12: } 13: String host = args[0]; 14: // port numbers for common services 15: int[ ] ports = { 16: 7, // ping 17: 13, // daytime 18: 21, // ftp 19: 23, // telnet 20: 71, // finger 21: 80, // http 22: 119, // nntp (news) 23: 161 // snmp 24: }; 25: // Probe each port. 26: for (int i = 0; i < ports.length; i++) { 27: try { 28: Socket sock = new Socket(host, ports[i]); 29: System.out.println(host + " listening on port " + ports[i]); 30: sock.close(); 31: } 32: catch(UnknownHostException e) { 33: System.err.println(e); 34: return; 35: } 36: catch(IOException e) { 37: System.out.println(host + " not listening on port " 38: + ports[i]); 39: } 40: } 41: } 42: }