为什么 netstat 报告的开放端口数少于 lsof

Why does netstat report lesser number of open ports than lsof

我在 2 台机器上遇到风暴 运行。

每台机器都运行 nimbus 进程(主进程的花式)和工作进程。

我想看看它们之间的通信 - 哪些端口是开放的以及它们如何相互连接。

$ netstat -tulpn | grep -w 10669
tcp        0      0 :::6700       :::*            LISTEN      10669/java          
udp        0      0 :::42405      :::*                        10669/java          


$ lsof -i :6700
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    10669 storm   25u  IPv6  57830      0t0  TCP host1:50778->host2:6700 (ESTABLISHED)
java    10669 storm   26u  IPv6  57831      0t0  TCP host1:6700->host2:57339 (ESTABLISHED)
java    10669 storm   29u  IPv6  57843      0t0  TCP host1:6700->host1:50847 (ESTABLISHED)
java    10669 storm   53u  IPv6  57811      0t0  TCP *:6700 (LISTEN)
java    10681 storm   53u  IPv6  57841      0t0  TCP host1:50780->host2:6700 (ESTABLISHED)
java    10681 storm   54u  IPv6  57842      0t0  TCP host1:50847->host1:6700 (ESTABLISHED)

我从上面的输出中不明白的是,为什么 netstat 没有显示端口 50778 在 PID=10669 的进程中打开,其中 lsof 清楚地表明同一进程已建立连接 host1:50778->host2:6700

netstat -l 将结果限制为侦听套接字,并阻止显示其他状态的套接字。

试试这个:

netstat -anp | egrep :6700