Разъединение сокетов - PullRequest
       6

Разъединение сокетов

0 голосов
/ 29 октября 2019

Я создал сканер портов с многопоточностью, который сканирует порты, начиная с 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();

1 Ответ

1 голос
/ 29 октября 2019
  1. Вместо сканирования всех портов хоста, проверьте порт на нескольких хостах, если вы хотите сканировать несколько хостов, затем проверьте другой порт ...
  2. Вместо полного сканирования на портах,Вы можете рассмотреть только хорошо известные порты [1].
  3. Включение сна в ваш код, увеличение вероятности обхода брандмауэров, но увеличение времени сканирования.
  4. Вы можете использовать некоторые прокси-службы, которые меняют IP для каждого запроса [2].
  5. См. «Самый быстрый способ сканирования портов с помощью Java» [3]

[1] https://www.webopedia.com/quick_ref/portnumbers.asp[2] https://luminati.io/proxy-networks/residential-ips[3] Самый быстрый способ сканирования портов с помощью Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...