Linux
查找與特定程序相關聯的 IP
在 Linux 機器上找到連結到特定程序的 IP 的最直接方法是什麼?
如果程序使用的埠專門為此程序保留,那麼任務很簡單:我會通過過濾到該埠的數據包擷取來找到連結到該程序的數據包。
然而,當多個程序同時使用感興趣的埠時,它就變得不那麼明顯了。
在這種情況下,如何區分由一個特定選擇的程序發送或接收的數據包?
lsof -i :"port number"
這可用於了解哪個埠正在偵聽哪個程序和哪個程序。
您還可以使用:
netstat -nutlp | grep "port number|process|IP Address"
最直接的方法是在 Anirudh 的回復中,以 root 身份:
netstat -aentpu | grep "IP:PORT"
從您的問題來看,您似乎認為可以有多個程序在偵聽同一個 IP:PORT touple,您指的是 SO_REUSEPORT 嗎?
在這種情況下,也可以使用 netstat 獲得程序的 PID。
不,sinffing 並不一定告訴你正在監聽什麼程序,你只看到流量。