自分のIPアドレスを用いてポートスキャンするときのプログラムはあるのですがIPアドレスを指定して行うにはどうすればいいでしょうか?たとえば、IPがxx.yy.zz.aaの場合はこれをポートスキャンするにはどのようにすればいいでしょうか?(学習用サーバのポートスキャンを行います。)
import java.net.Socket; import java.net.UnknownHostException; import java.io.*; public class PortScanner{ public static void main(String args[]){ String host = "localhost"; if (args.length > 0) { host = args[0]; } System.out.println("調査対象: " + host + " のポートスキャン"); // ポート1~127番をスキャン for (int port = 1; port < 128; port++) { try{ Socket sock = new Socket(host, port);//接続 System.out.println("host: " + sock.getLocalAddress() + " の local port: " + sock.getLocalPort() + "番から接続調査"); //System.out.println("\t server port " + port + " 番を使用中"); System.out.println("\t server port " + sock.getPort() + " 番を使用中"); sock.close(); } catch (UnknownHostException e) { System.err.println(e); break; } catch (IOException e) { // port ではサーバは動作していない } } } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。