如何解决Linux:如何知道哪个进程或程序正在向本地端口发送数据?
我在 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=
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。