Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于socket.startHandshake();在爪哇_Java_Sockets_Ssl - Fatal编程技术网

Java 关于socket.startHandshake();在爪哇

Java 关于socket.startHandshake();在爪哇,java,sockets,ssl,Java,Sockets,Ssl,我有一个小Java程序,它从文本文件中读取ip列表,并在一个循环中使用ip创建ssl会话。会话可能成功或失败取决于端口443是否在另一侧启用 我的问题是: 1.如果端口443未在另一侧启用,会话将失败。问题是,我的程序在这里停止,转到异常处理,并向我打印错误并结束。我希望程序继续使用下一个IP创建下一个会话,依此类推。如何使其继续并打印一条消息,说明该IP的会话失败 另一个问题:如何获得启用的密码套件?我试图打印socket.getEnablediPhone套件();但打印的奇怪文本根本不是一种

我有一个小Java程序,它从文本文件中读取ip列表,并在一个循环中使用ip创建ssl会话。会话可能成功或失败取决于端口443是否在另一侧启用

我的问题是: 1.如果端口443未在另一侧启用,会话将失败。问题是,我的程序在这里停止,转到异常处理,并向我打印错误并结束。我希望程序继续使用下一个IP创建下一个会话,依此类推。如何使其继续并打印一条消息,说明该IP的会话失败

另一个问题:如何获得启用的密码套件?我试图打印socket.getEnablediPhone套件();但打印的奇怪文本根本不是一种密码套件

编辑:

publicstaticvoidmain(字符串[]argv){
试一试{
而((有IP)
{
试一试{
//调用具有相同try/catch的Connect函数
}捕获(例外e){
System.err.println(“错误:+e.getMessage());
}//抓住
}//边结束边循环
捕获(例外e){
System.err.println(“错误:+e.getMessage());
}//抓住
}//端空总管
您的观点#1似乎是异常处理应该注意的问题:将所有IP上的每个迭代都包含在自己的try/catch块中

您可以从这里的一些多线程和超时中获益匪浅,因为一些防火墙会悄悄地丢弃您的SYN数据包,让您的扫描工具无限期地等待


但在你这么做之前,要小心:你看起来很像是一个恶意工具,在网络上扫描一些漏洞。如果你太咄咄逼人或针对某个你不认识的人,你可能会遇到管理问题。一个线程池或一些类似的技术,以确保你不会超过合理的连接建立量/第二个是最小值。

您能提供使用GetEnabledCiphorsuites输出的示例代码以及您得到的输出吗?@sylvainulg代码是:String[]EnabledCiphoer;EnabledCiphor=socket.GetEnabledCiphorsuites();System.out.println(EnabledCiphoer);输出:[Ljava.lang.String;@1ADAAAB0您的输出看起来像一个数组引用。您必须对其成员进行迭代并单独打印。可能是输出的格式化示例和打印信息的其他指令?谢谢。我在单个迭代级别创建了try/catch,程序继续运行。但是另一个问题发生了rred:该程序应该输出:与site1的SSL连接,与site2的SSL连接,…等等。在我修复了try/catch之后,输出是:与site1的SSL连接(具有禁用的端口),与站点2的ssl连接成功,然后它会打印错误:错误超时,似乎有延迟??或在打印出失败连接的错误消息之前创建下一个连接1。如何解决此问题??如果有多个线程且不同步输出,或如果混合了系统,则可能会出现此问题.err和System.out。尝试每个信息只有一个println(…)。我没有使用线程。这是错误处理的结构。我想我做错了什么,但不知道具体位置。请检查编辑的post.thanx。
public static void main(String[] argv) {

try{

    while ((there are IPs)   

    {
        try{
            //call for Connect function which has try/catch on it the same way

            }catch (Exception e){
              System.err.println("Error: " + e.getMessage());
          }//catch
    }//end while loop


   catch (Exception e){
  System.err.println("Error: " + e.getMessage());
 }//catch

 }//end void main </i>