在 netstat 输出中区分 TCP 服务器和客户端

6 tcp socket netstat

我在客户端进程和服务器进程之间有一个套接字连接,它们都在我的机器上运行。有两个条目显示为连接,

sudo netstat -ntp | grep 56442
tcp        1      0 127.0.0.1:56442         127.0.0.1:8002          CLOSE_WAIT  8276/python
tcp        0      0 127.0.0.1:8002          127.0.0.1:56442         FIN_WAIT2   -
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我如何确定哪个是服务器?

我知道 TCP 服务器正在端口上运行8002,并且客户端从端口连接到侦听服务器56442

我试图通过查看netstat输出条目找出一种区分服务器和客户端的方法。

为什么当套接字处于FIN_WAIT2状态时进程 ID/描述不出现?

PSk*_*cik 0

我相信netstat -ntp只会在本地地址列中显示客户端(非监听)套接字。

-l标志应该导致netstat仅列出服务器(侦听)套接字,并且-a您应该同时获得两者,然后您可以根据STATE进行区分。