1

我需要修改一个内核模块来计算机器通过我的无线适配器为 linux 2.6 内核发送/接收的数据包数量。请让我知道我应该修改哪些模块。任何参考资料也会有所帮助。

4

3 回答 3

2

如果您对 IP 数据包感兴趣,您应该考虑创建一个使用 netfilter 钩子的内核模块。很简单,下面看看这个:

http://www.netfilter.org/documentation/HOWTO/netfilter-hacking-HOWTO-3.html

Netfilter 主要用于防火墙,但它可以做你想做的事,而且你不需要弄乱其他内核模块。希望能帮助到你。

于 2011-08-09T16:19:59.633 回答
2

我不太确定无线适配器,但我认为它类似于有线适配器。对于有线和无线网卡,您可以使用 ifconfig eth0 命令,然后在输出中,您将看到一两行告诉您发送(TX)或接收(RX)的数据包数。

要从内核模块获取相同的信息,一种方法是修改网卡的设备驱动程序。一篇关于 rtl8139(有线)的教程在这里: http: //linuxgazette.net/156/jangir.html

另外,我认为有一些标准的内核接口可以用来获取相同的信息。例如,tp->stats.tx_packets在上面的链接中提到。

于 2011-04-21T15:37:15.757 回答
0
cat /proc/net/dev 

可能不是您想要的,但请解释原因。

于 2011-04-20T02:32:12.097 回答