Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Действие NF_QUEUE


Автор: bodigard 10.7.2013, 08:11
доброго времени суток !

при использовании библиотеки netfilter в ядре увидел действие NF_QUEUE (inject the packet into a different queue (the target queue number is in the high 16 bits of the verdict)
на сколько понял это для обработки пакета в userspase-e, но не могу понять как пометить пакет в ядре и как потом его выловить в userspase-e

если не трудно подкиньте пожалуйста доку как с этим работать.

заранее благодарен !


Автор: feodorv 11.7.2013, 03:54
Цитата(bodigard @  10.7.2013,  09:11 Найти цитируемый пост)
если не трудно подкиньте пожалуйста доку как с этим работать.

Честно говоря, не работал с netfilter  smile 

На вид нужно создать (в ядре) очередь с каким-то номером, применить какое-либо правило, чтобы пакет попал в эту очередь, затем в пользовательском пространстве открывается очередь, и читаются из неё пакеты обычным recv:
  • http://www.gsub.com.ua/Arts/?action=view&aid=596 (http://www.ibm.com/developerworks/linux/tutorials/l-packet/section6.html)
  • http://www.netfilter.org/projects/libnetfilter_queue/doxygen/group__Queue.html
  • http://www.linux-field.com/archives/591
  • http://www.missoulapubliclibrary.org/ftp/LinuxJournal/LJ11-12.pdf (pdf!)
  • http://home.regit.org/netfilter-en/using-nfqueue-and-libnetfilter_queue/
  • http://www.roman10.net/how-to-calculate-iptcpudp-checksumpart-3-usage-example-and-validation/
  • http://centos.distrosfaqs.org/centos/forwarding-packets-to-service-in-same-host-without-using-loopback-network/
  • http://linux.derkeiler.com/Mailing-Lists/Kernel/2007-10/msg09846.html
  • http://www.cs.bham.ac.uk/~exr/lectures/opsys/12_13/examples/netfilter/
  • http://www.auroragrp.com/agi/nfq_sniff.c
и т.д.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)