首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java端口扫描程序

Java端口扫描程序
EN

Stack Overflow用户
提问于 2010-03-02 04:26:46
回答 5查看 7K关注 0票数 1
代码语言:javascript
复制
import java.net.Socket;
import java.io.IOException;

public class Main {


    public static void main(String[] args) {
       String remote = "69.163.44.171";
       int i = 0;
       do {
       try {
       Socket s = new Socket(remote,i);
       System.out.println("Server is listening on port " + i+ " of " + remote);
       s.close();

       } catch (IOException ex) {
       System.out.println("Server is not listening on port " + i+ " of " + remote);
    }
       i++;
       } while(i == 55000);
}

输出:

代码语言:javascript
复制
Server is not listening on port 0 of 69.163.44.171
BUILD SUCCESSFUL (total time: 0 seconds)

我使用while循环是因为它更快,现在问题是为什么它只扫描一个端口?

EN

回答 5

Stack Overflow用户

发布于 2010-03-02 04:29:27

好吧..。您认为条件while(i == 55000)true的频率是多少

票数 3
EN

Stack Overflow用户

发布于 2010-03-02 04:28:17

您需要在您的时间内更改为以下内容:

代码语言:javascript
复制
while(i <= 55000)

目前您正在达到i(即1) != 55000,因此您退出了循环。

票数 2
EN

Stack Overflow用户

发布于 2010-03-02 04:28:39

这部分:

代码语言:javascript
复制
} while(i == 55000)

只要 i is 55000,就会重复循环。

由于i从0开始,然后递增到1,因此它永远不会到达值正好为55000的位置,因此永远不会重新开始循环。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2358840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档