Сокет в Java и Nmap
У меня есть программа написать в Java, это ждать подключения на порт
когда я сканирую сервер по nmap, программа останавливается (erorr)
это мой код
SSLServerSocketFactory sslServerSocketfactory = (SSLServerSocketFactory)SSLServerSocketFactory.getDefault();
sslServerSocket = (SSLServerSocket)sslServerSocketfactory.createServerSocket(intSSLport);
out = new PrintWriter(sslSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(sslSocket.getInputStream()));
String value = in.readLine();
спасибо jtahlborn,,,, я решил, используя try и catch,,, и сделать catch вернуться к
sslSocket = (SSLSocket)sslServerSocket.accept()
снова
1 ответ
Nmap сканирует открытые порты, пытаясь подключиться к ним (отправляя TCP SYN). Поскольку вы открыли сокет сервера, он возвращается, когда к нему подключается клиент. В вашем случае это Nmap, который пытается подключиться.
AFAIK, nmap не завершит процедуру TCP-соединения (трехстороннее рукопожатие). nmap получит TCP SYN/ACK, отправленный в результате вашего вызова accept(), и решит, что порт открыт. Вот и все, nmap не будет отправлять третье сообщение, необходимое для завершения процедуры TCP-соединения (ACK).