问题描述
我在 CentOS 服务器上启动了一个侦听 127.0.0.1:3000 的程序。我没有向程序发送任何消息,但它一直在接收数据。我想知道谁在向我的程序发送数据。所以我输入以下命令:
netstat -an | grep 3000
快照输出为:
tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3000 127.0.0.1:41960 TIME_WAIT
tcp 0 0 127.0.0.1:3000 127.0.0.1:41956 TIME_WAIT
tcp 0 0 127.0.0.1:3000 127.0.0.1:41964 TIME_WAIT
tcp 1 0 127.0.0.1:41968 127.0.0.1:3000 CLOSE_WAIT
tcp 0 0 127.0.0.1:3000 127.0.0.1:41952 TIME_WAIT
tcp 0 0 127.0.0.1:3000 127.0.0.1:41968 FIN_WAIT2
每次我输入命令时输出都会改变。像 4xxxx
这样的模式中的端口号频繁增加。
如果我输入 lsof -nPi tcp:3000
,输出之一是
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 76230 xxx 18u IPv4 130828 0t0 TCP 127.0.0.1:3000 (LISTEN)
node 76230 xxx 20u IPv4 208468 0t0 TCP 127.0.0.1:3000->127.0.0.1:42072 (ESTABLISHED)
我不知道这些 4xxxx
数字代表什么。就我而言,如何知道谁在向 127.0.0.1:3000 发送数据?
解决方法
您有一个 PID 76230,有了它您可以通过
了解进程名称$ ps -p 76230 -o comm=