如何获取网络活动连接的列表(pocess名称、ID、PID、stat、TCp或UDP…)并用java将它们写入XML文件

如何获取网络活动连接的列表(pocess名称、ID、PID、stat、TCp或UDP…)并用java将它们写入XML文件,java,sockets,network-programming,Java,Sockets,Network Programming,我想获取所有网络活动连接,以及它们的进程名称、PID编号、tcp或udp、stat(侦听、连接..)本地Ip地址和远程ID地址的详细信息, (类似于在LinuxBash上运行命令:netstat f) 然后将它们写入XML文件, 有人知道我该怎么做吗?java中的哪些函数执行这些任务 谢谢你的帮助 没有java库/APi可以做到这一点。 但是你可以通过调用操作系统服务来完成 例如,在windows中: 导入java.io.BufferedReader; 导入java.io.InputStream

我想获取所有网络活动连接,以及它们的进程名称、PID编号、tcp或udp、stat(侦听、连接..)本地Ip地址和远程ID地址的详细信息, (类似于在LinuxBash上运行命令:
netstat f
) 然后将它们写入
XML文件
, 有人知道我该怎么做吗?java中的哪些函数执行这些任务


谢谢你的帮助

没有java库/APi可以做到这一点。 但是你可以通过调用操作系统服务来完成 例如,在windows中: 导入java.io.BufferedReader; 导入java.io.InputStreamReader

public class TCPConnections
{
public static void main(String[] args){
try{
ProcessBuilder pb = new ProcessBuilder("netstat","-a","-n","-o");
Process process = pb.start();
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while((line=br.readLine())!=null){
System.out.println(line);
}
br.close();
}catch(Exception e){
throw new RuntimeException(e);
}
 }
}

希望对您有所帮助

java中没有函数可以完成此任务。一般来说,java不会直接支持这样的“本机操作系统”任务。一个选项是运行这些工具之一并分析输出。@jtahlborn您听说过函数:
GetTcp();java中的GetProcess()、GetNetworkinfo()
和..`?我认为java.net.networkinterface包包含这些函数(不确定包名),但我在java中看到了它们,我的问题是我不知道如何使用这些函数。!!!我听说过很多东西,是的,我知道你可以用java枚举网络接口。这和你的问题有什么关系?