【问题标题】:Linux: how to know which process (or program) is sending data to a local port?Linux:如何知道哪个进程(或程序)正在向本地端口发送数据?
【发布时间】:2021-06-29 20:02:07
【问题描述】:

我在 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 发送数据?

【问题讨论】:

    标签: linux port netstat lsof


    【解决方案1】:

    你有一个 PID 76230 并且拥有它你可以通过

    了解进程名称
    $ ps -p 76230 -o comm=
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      • 2020-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多