linux内核中特定TCP连接的跟踪拥塞窗口

linux内核中特定TCP连接的跟踪拥塞窗口,tcp,linux-kernel,congestion-control,Tcp,Linux Kernel,Congestion Control,我试图在内核中跟踪特定TCP连接的拥塞窗口。我假设最简单的方法是使用printk或printf并在内核中打印出相应的变量,我假设它是snd\u cwnd 有没有更标准的方法?理想情况下,我希望观察特定TCP连接的各种重要TCP参数是如何变化的。关于使用printk,您说得很对,转储特定数据实际上printk是最好的选择 要观察特定TCP连接的参数,可以借助netfilter挂钩。使用netfilter内核模块(),您可以跟踪特定连接并检查所需的每个tcp数据包。printk仅在使用低速传输时可用

我试图在内核中跟踪特定TCP连接的拥塞窗口。我假设最简单的方法是使用
printk
printf
并在内核中打印出相应的变量,我假设它是
snd\u cwnd


有没有更标准的方法?理想情况下,我希望观察特定TCP连接的各种重要TCP参数是如何变化的。

关于使用printk,您说得很对,转储特定数据实际上printk是最好的选择


要观察特定TCP连接的参数,可以借助netfilter挂钩。使用netfilter内核模块(),您可以跟踪特定连接并检查所需的每个tcp数据包。

printk仅在使用低速传输时可用。使用快速传输时,这些参数的更改数量很大,并且会使printk使用的dmesg缓冲区溢出。在过去,当这些参数发生变化时,我会编写一些代码来使用内核和用户空间之间的relayfs缓冲区。现在有了systemtap,它应该可以有效地获取内部信息