![寻求有关 netstat 结果的澄清](https://linux22.com/image/135553/%E5%AF%BB%E6%B1%82%E6%9C%89%E5%85%B3%20netstat%20%E7%BB%93%E6%9E%9C%E7%9A%84%E6%BE%84%E6%B8%85.png)
我正在寻找有关以下 netstat 结果的一些说明。以下结果显示了 3 个 java 进程。有没有办法找到它们引用的是哪些java程序?
我正在寻找的另一个澄清是,我已经在我的机器中完成了禁用 tcp6 的操作。但是,netstat 结果仍然在输出中显示 tcp6。为什么这样?
# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 7605/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 820/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2020/master
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 7605/java
tcp 0 0 0.0.0.0:9990 0.0.0.0:* LISTEN 7605/java
tcp6 0 0 :::80 :::* LISTEN 823/httpd
tcp6 0 0 :::22 :::* LISTEN 820/sshd
tcp6 0 0 ::1:25 :::* LISTEN 2020/master
udp 0 0 0.0.0.0:34754 0.0.0.0:* 623/dhclient
udp 0 0 0.0.0.0:68 0.0.0.0:* 623/dhclient
udp6 0 0 :::31623 :::* 623/dhclient
答案1
使用--protocol
tcp4 过滤标志。
netstat --protocol inet -4
只会显示 ipv4 套接字。
对于 Java 进程,netstat 输出中有 PIDS。通过命令使用它ps
来查找您的 Java 程序。
答案2
对 ipv6 套接字的侦听内置于这些进程中。这是这些进程本身的特征,我认为除非您使用相关的 ipv6 配置编译这些应用程序,否则无法禁用。