Какой модуль в ядре Linux 2.6 следует изменить, чтобы подсчитать количество отправленных / полученных ip-пакетов? - PullRequest
1 голос
/ 20 апреля 2011

Мне нужно изменить модуль (и) ядра для подсчета количества пакетов, которые машина отправила / получила через мой беспроводной адаптер для ядра Linux 2.6.Пожалуйста, дайте мне знать, какие модули я должен изменить.Любые ссылки также будут полезны.

Ответы [ 3 ]

2 голосов
/ 21 апреля 2011

Я не очень уверен насчет беспроводного адаптера, но думаю, что он похож на проводной.Для проводных и беспроводных сетевых адаптеров вы можете использовать команду ifconfig eth0, затем в выходных данных вы увидите одну или две строки, сообщающие вам количество отправленных (TX) или полученных (RX) пакетов.

Чтобы получитьта же информация из модуля ядра, одним из способов является изменение драйвера устройства для сетевой карты.Один урок о rtl8139 (проводной) находится здесь: http://linuxgazette.net/156/jangir.html

Кроме того, я думаю, что есть некоторый стандартный интерфейс ядра, который вы можете использовать, чтобы получить ту же информацию.Например, tp->stats.tx_packets упоминается в приведенной выше ссылке.

2 голосов
/ 09 августа 2011

Если вас интересуют IP-пакеты, вам следует подумать о создании модуля ядра, который использует ловушки netfilter.Это очень просто, вот взгляните на это:

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

Netfilter прежде всего предназначен для межсетевого экрана, но он может делать то, что вы хотите, и вам не нужно связываться с другимимодули ядра.Надеюсь, это поможет.

0 голосов
/ 20 апреля 2011
cat /proc/net/dev 

, вероятно, не то, что вы хотите, но затем объясните, почему.

...