Linux

如何編輯 /proc/net/tcp?

  • April 21, 2015

我需要編輯 1 行,/proc/net/tcp而 linux 核心也使用該文件來更新核心的其他行。

**背景:**中的每一行/proc/net/tcp代表一個 TCP 套接字。核心使用這個文件來顯示系統中每個套接字的狀態和統計資訊。我想偽造系統中 1 個套接字的統計資訊,因為我正在擷取它的流量並將其直接傳遞給網卡,而核心不知道。

/proc/net/tcp不是真正的文件,可以編輯。每次您從中讀取時,核心都會分配稱為seq 文件的臨時緩衝區,並從目前核心數據中寫入統計資訊。

您只能通過更改tcp4_seq_show()innet/ipv4/tcp_ipv4.c和後續函式中的程式碼來劫持它。

請注意,這/proc/net/tcp實際上是 a 的符號連結/proc/self/net/tcp,因此如果您將程序放入命名空間,它根本看不到您的連接。

引用自:https://unix.stackexchange.com/questions/197613