Netfilter and Raw packet data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi everyone,

I am currently working on a netfilter driver that is a loadable module,
and have run into a bit of a problem.

I want to catch the packets at the NF_IP_PRE_ROUTING hook, and discard
some of them based on the packet headers, and discard others based on the
packet payload (non header data), specifically with UDP packets.

Currently however, in my testing, the length provided by (*pskb)->len is
only just big enough to hold the headers, and furthermore, the lengths
embedded in the IP headers and UDP headers report the same numbers.

I have seen some other example code which looks down into the packet data
(all for TCP), and in each of those cases, the packet data was at the end
of the sk_buff->data pointer, and was calculated by looking at the sizes
reported in the headers.

My ideas as to what I could be doing wrong are many.  So far, I have tried
changing the hook location on the off chance that the packet data would
not be available at PRE_ROUTING hook location (as silly as that sounds..).

I am going to hack on it until I figure out exactly what silly oversight I
have committed of course, but I would very much appreciate if anyone were
able to enlighten me.

Thanks,
John

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux