All of lore.kernel.org
 help / color / mirror / Atom feed
From: linux lover <linux.lover2004@gmail.com>
To: kernelnewbies@nl.linux.org
Cc: netfilter-devel@lists.netfilter.org
Subject: printing packet data
Date: Wed, 22 Dec 2004 08:20:42 +0530	[thread overview]
Message-ID: <72c6e37904122118504466dd28@mail.gmail.com> (raw)

Hi all,
I want to print skb->data contents in kernel module using netfilter module at
NF_HOOK NF_IP_LOCAL_OUT. How can i do that? I know how to write netfilter
module like this one
#define MODULE
#define __KERNEL__

          #include <linux/module.h>
          #include <linux/kernel.h>
          #include <linux/skbuff.h>
          #include <linux/ip.h>
          #include <linux/netfilter.h>
          #include <linux/netfilter_ipv4.h>

          static struct nf_hook_ops nfho1;
          static unsigned char *packet_ip = "\x7f\x00\x00\x0b";

          unsigned int hook_func1(unsigned int hooknum,struct sk_buff **skb,
                                 const struct net_device *in,
                                 const struct net_device *out,
                                 int (*okfn)(struct sk_buff *))
          {
              struct sk_buff *sb = *skb;
              printk(KERN_DEBUG "calling hook_func at NF_IP_LOCAL_OUT\n");
                if (sb->nh.iph->saddr == *(unsigned int *)packet_ip)
                 {
 /*CODE REQUIRE TO BE INCLUDED HERE*/
                  return NF_ACCEPT;
          }
               else
                    return NF_ACCEPT;

          }


static int __init init(void)
  {
              nfho1.hook     = hook_func1;
              nfho1.hooknum  = NF_IP_LOCAL_OUT;
              nfho1.pf       = PF_INET;
              nfho1.priority = NF_IP_PRI_FIRST;
              nf_register_hook(&nfho1);
              return 0;
          }

static void __exit fini(void)
          {
              nf_unregister_hook(&nfho1);
          }
module_init(init);
module_exit(fini);
MODULE_LICENSE("GPL");

But how can i print those HEX codes in packet?
regards,
linux.lover

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

             reply	other threads:[~2004-12-22  2:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-22  2:50 linux lover [this message]
2004-12-22 13:54 ` printing packet data Lukas Ruf
2004-12-23  2:49 ` linux lover

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=72c6e37904122118504466dd28@mail.gmail.com \
    --to=linux.lover2004@gmail.com \
    --cc=kernelnewbies@nl.linux.org \
    --cc=netfilter-devel@lists.netfilter.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.