簡體   English   中英

Linux:如何知道哪個進程(或程序)正在向本地端口發送數據?

[英]Linux: how to know which process (or program) is sending data to a local port?

我在 CentOS 服務器上啟動了一個監聽 127.0.0.1:3000 的程序。 我沒有向程序發送任何消息,但它一直在接收數據。 我想知道誰在向我的程序發送數據。 所以我輸入以下命令:

netstat -an | grep 3000

快照 output 是:

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 

每次我輸入命令時,output 都會發生變化。 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=

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM