Linux

查找與特定程序相關聯的 IP

  • October 24, 2016

在 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 並不一定告訴你正在監聽什麼程序,你只看到流量。

引用自:https://serverfault.com/questions/810891