我需要修改一个内核模块来计算机器通过我的无线适配器为linux 2.6内核发送/接收的数据包的数量。请让我知道我应该修改哪些模块。任何参考文献也会有所帮助。
答案 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
可能不是你想要的,但后来解释原因。