Как сохранить данные на диске непосредственно в модуле ядра?

Как сохранить данные на диске непосредственно в модуле ядра?

Я захватываю TCP-пакет в функции netif_receive_skb, я хочу сохранить плейлоад TCP-пакета. мы не можем читать/писать файл в модуле ядра, поэтому сохранение на диске напрямую, может быть, способ?
Это хороший способ или есть другие предложения?

решение1

Вы можете обнаружить, что подход к вашим требованиям с другой стороны удовлетворит ваши потребности.

iptablesимеет -j NFQUEUEопцию (см. man iptables), которая позволяет вам ставить в очередь выбранные пакеты для пользовательского пространства. В вашей пользовательской программе было бы тривиально записывать пакеты на диск.

Видетьhttps://home.regit.org/netfilter-en/using-nfqueue-and-libnetfilter_queue/для некоторых действительно интересных деталей, которые, должен отметить, я просмотрел лишь бегло.

Связанный контент