[英]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.