全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 757|回复: 10
打印 上一主题 下一主题

求java获取tcp端口连接数的实例或轮子

[复制链接]
跳转到指定楼层
1#
发表于 2022-12-20 13:20:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1.         String cmd = "ping 8.8.8.8"; //运行的命令

  2.         Runtime runtime = Runtime.getRuntime();

  3.         Process p = runtime.exec(cmd);

  4.         InputStream is = p.getInputStream();
  5.         InputStreamReader isr = new InputStreamReader(is, "gbk");
  6.         BufferedReader reader = new BufferedReader(isr);

  7.         for (String line; (line = reader.readLine()) != null;) {
  8.             System.out.println(line);
  9.         }
复制代码



把ping命令 改成
  1. netstat -apn|grep 445|grep 'ESTABLISHED'|wc -l
复制代码

就打印不出来了,有大佬帮看看吗
11#
发表于 2022-12-21 17:21:59 | 只看该作者
我问的ai,它告诉我是 import java.io.BufferedReader;
import java.io.InputStreamReader;

public class PortConnectionCount {
    public static void main(String[] args) throws Exception {
        // 调用系统命令:lsof -i :端口号
        Process p = Runtime.getRuntime().exec("lsof -i :6666");
        BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line;
        int connectionCount = 0;
        // 遍历命令输出的每一行
        while ((line = br.readLine()) != null) {
            // 统计连接数
            connectionCount++;
        }
        // 输出连接数
        System.out.println("端口6666的TCP连接数: " + connectionCount);
    }
}
10#
 楼主| 发表于 2022-12-20 19:28:27 | 只看该作者
静香 发表于 2022-12-20 17:32
https://chatgpt.sbaliyun.com/


牛逼啊,真的是ai给我生成了  只要会拼接代码就好了,什么逻辑都给你写好 判断好  好牛逼
9#
发表于 2022-12-20 17:32:12 | 只看该作者
客官不可以 发表于 2022-12-20 13:57
怎么操作 哪里问ai  老哥  指点下

https://chatgpt.sbaliyun.com/
8#
发表于 2022-12-20 14:29:29 | 只看该作者
客官不可以 发表于 2022-12-20 13:57
怎么操作 哪里问ai  老哥  指点下

chatgpt
7#
发表于 2022-12-20 14:12:04 | 只看该作者
找楼上的静香,他给你的回复估计就是AI生成的
6#
 楼主| 发表于 2022-12-20 13:57:22 | 只看该作者
whl32 发表于 2022-12-20 13:39
这种直接问AI来得快,直接给你例子

怎么操作 哪里问ai  老哥  指点下
5#
 楼主| 发表于 2022-12-20 13:55:54 | 只看该作者


不是,你把 String cmd = "ping 1.1.1.1";

换 netstat -apn|grep 80|grep 'ESTABLISHED'|wc -l

我测试用win系统测的 没打印出来
  1. netstat -an -p tcp | find "127.0.0.1" | find /c "80"
复制代码

4#
发表于 2022-12-20 13:39:59 | 只看该作者
这种直接问AI来得快,直接给你例子
3#
发表于 2022-12-20 13:29:23 | 只看该作者
  1. public class ExecShell {
  2. public static void main(String[] args) {
  3.   String cmd = "ping 1.1.1.1";
  4.   Process process;
  5.   try {
  6.    process = Runtime.getRuntime().exec(cmd);
  7.    process.waitFor();
  8.   } catch (Exception e) {
  9.    e.printStackTrace();
  10.   }
  11. }
  12. }
复制代码


  1. public class ExecShell {
  2. public static void main(String[] args) {
  3.   ProcessBuilder processBuilder = new ProcessBuilder("ping 1.1.1.1");
  4.   try {
  5.    Process process = processBuilder.start();
  6.    process.waitFor();
  7.   } catch (Exception e) {
  8.    e.printStackTrace();
  9.   }
  10. }
  11. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-17 14:45 , Processed in 0.110705 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表