如何编辑/proc/net/tcp?

如何编辑/proc/net/tcp?

我需要编辑 1 行,/proc/net/tcp而 Linux 内核也使用该文件来更新内核的其他行。

背景:中的每一行/proc/net/tcp代表一个 TCP 套接字。内核使用该文件来显示系统中每个套接字的状态和统计信息。我想伪造系统中 1 个套接字的统计数据,因为我正在捕获其流量并将其直接传递到网卡,而内核不知情。

答案1

/proc/net/tcp不是可以编辑的真实文件。每次读取时,内核都会分配称为 a 的临时缓冲区序列文件,并从中写入统计数据当前的内核内数据。

您只能通过更改 in 和后续函数中的代码来劫持tcp4_seq_show()net/ipv4/tcp_ipv4.c

请注意,它/proc/net/tcp实际上是 a 的符号链接/proc/self/net/tcp,因此如果您将进程放入命名空间中,它根本不会看到您的连接。

相关内容