Пишу сканер портов на Java. Я использую цикл for для подсчета портов от 0 до 100, создавая сокет для каждого и наблюдая, выдает ли он исключение или нет. Однако, когда я пытаюсь сканировать нелокальные порты, такие как «www.google.com», он сканирует первый, а затем останавливается (буквально программа просто ждет), если кто-нибудь знает, почему это так, я хотел бы знать. Вот код для метода сканирования. Обратите внимание, что переменная ia является объектом InetAddress.
private void scan(int low, int high){
for(int port =low; port<high; port++){
try {
connection = new Socket(ia, port);
r.addPort(port);
System.out.println("port "+port+" open");
connection.close();
} catch (IOException e) {
System.out.println("port "+port+" not open");
}
}
}