Java套接字未连接到大多数站点
我正在编写一个程序,它只是测试远程机器上端口的连接,并检查连接是否建立或被拒绝,就像端口扫描程序一样。虽然它似乎在本地主机和一些站点上有效,但由于某些原因,它在大多数IP地址上都不起作用,当时我的几个同学采用了类似的方法,能够探测这些相同的站点。有些网站,如wikipedia.org,只会转到端口21,然后挂起。有人能看到我的代码有任何明显的问题吗。提前到坦斯克Java套接字未连接到大多数站点,java,sockets,ports,network-scan,Java,Sockets,Ports,Network Scan,我正在编写一个程序,它只是测试远程机器上端口的连接,并检查连接是否建立或被拒绝,就像端口扫描程序一样。虽然它似乎在本地主机和一些站点上有效,但由于某些原因,它在大多数IP地址上都不起作用,当时我的几个同学采用了类似的方法,能够探测这些相同的站点。有些网站,如wikipedia.org,只会转到端口21,然后挂起。有人能看到我的代码有任何明显的问题吗。提前到坦斯克 for(int i = 1; i <= maxPort; i++) { boolean foun
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。在某些地方,这可能是非法的。此外,防火墙可以丢弃对被阻止端口的连接请求,而不是拒绝它们,这在一定程度上是为了防止端口扫描,因为它会导致扫描程序等待很长时间,等待永远不会出现的响应。我不认为您的代码有任何固有的错误,尽管您应该每个端口扫描几分钟(也许几十分钟),然后再声明它已经挂起。你应该考虑你的同学的代码是否挂起,实际上是在扫描同一台机器的相同端口。也许是他们的代码坏了,不是你的。