我应该修改linux 2.6内核中的哪个模块来计算发送/接收的ip数据包的数量?

时间:2011-04-20 02:15:47

标签: linux-kernel linux-device-driver kernel kernel-module

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

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:2)

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

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

Netfilter主要用于防火墙,但它可以做你想要的,你不需要搞乱其他内核模块。希望它有所帮助。

答案 2 :(得分:0)

cat /proc/net/dev 

可能不是你想要的,但后来解释原因。