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套接字未连接到大多数站点_Java_Sockets_Ports_Network Scan - Fatal编程技术网

Java套接字未连接到大多数站点

Java套接字未连接到大多数站点,java,sockets,ports,network-scan,Java,Sockets,Ports,Network Scan,我正在编写一个程序,它只是测试远程机器上端口的连接,并检查连接是否建立或被拒绝,就像端口扫描程序一样。虽然它似乎在本地主机和一些站点上有效,但由于某些原因,它在大多数IP地址上都不起作用,当时我的几个同学采用了类似的方法,能够探测这些相同的站点。有些网站,如wikipedia.org,只会转到端口21,然后挂起。有人能看到我的代码有任何明显的问题吗。提前到坦斯克 for(int i = 1; i <= maxPort; i++) { boolean foun

我正在编写一个程序,它只是测试远程机器上端口的连接,并检查连接是否建立或被拒绝,就像端口扫描程序一样。虽然它似乎在本地主机和一些站点上有效,但由于某些原因,它在大多数IP地址上都不起作用,当时我的几个同学采用了类似的方法,能够探测这些相同的站点。有些网站,如wikipedia.org,只会转到端口21,然后挂起。有人能看到我的代码有任何明显的问题吗。提前到坦斯克

for(int i = 1; i <= maxPort; i++)
    {
            boolean found = true;
            try
            {
                    String[] hostNameArray = hostName.split(".");
                    socket = new Socket(hostName, i);
                    System.out.println("Test");


                    socket.close();
            }
            catch(java.net.ConnectException ex)
            {
                    System.out.println("Error" + ex + "\t<"+i+">");
                    found = false;
            }
            catch(java.net.UnknownHostException ex)
            {
                    System.out.println("Unknown host");
                    System.exit(-1);
            }
            catch(IOException ex)
            {
                    System.out.println("IO Exception");
                    System.exit(-2);
            }
            if(found)
            {
                    ports.add(i);
            }
    }

用于(int i=1;我只是为了它:你知道广泛的端口扫描是一种可能会给你带来麻烦的活动吗?一些人/国家/当局甚至认为这是一种犯罪行为……维护良好的web服务器比普通的网络连接机器更警惕端口扫描。未经许可的端口扫描是不安全的ice。在某些地方,这可能是非法的。此外,防火墙可以丢弃对被阻止端口的连接请求,而不是拒绝它们,这在一定程度上是为了防止端口扫描,因为它会导致扫描程序等待很长时间,等待永远不会出现的响应。我不认为您的代码有任何固有的错误,尽管您应该每个端口扫描几分钟(也许几十分钟),然后再声明它已经挂起。你应该考虑你的同学的代码是否挂起,实际上是在扫描同一台机器的相同端口。也许是他们的代码坏了,不是你的。