Я создал сканер портов с многопоточностью, который сканирует порты, начиная с 1 и заканчивая цифрами. Он отлично работает в моей локальной сети, но если я пытаюсь сканировать IP-адрес вне своей локальной сети, он говорит, что все порты закрыты, что я предполагаю, потому что брандмауэр блокирует соединение?
Есть ли способ проверить, еслипорт открыт на IP-адресе за пределами моей локальной сети? Это код, который у меня есть
for (int port = startPort; port < 65535; port+=PortScanner.count)
{
Socket socket;
try
{
socket = new Socket();
socket.connect(new InetSocketAddress(host, port ), 500);
openPorts.add(port);
foundPort = true;
String temp = "Port " + port + " is open.\n";
System.out.write(temp.getBytes());
socket.close();
}
catch (IOException ioEx)
{
System.out.println("Port " + port + " is closed");
}
}
Thread.yield();