代码为:
在另外一个内核版本上,上的打印代码回打不全,因为skb->data指针被移动过了,所以得用下面这段:
点击(此处)折叠或打开
- if (skb)
- {
- char *buf = skb->data;
- int len = skb->len;
- int i;
-
- printk("[%s:%d]Packet length = %#4x\n", __FUNCTION__, __LINE__, len);
- for (i = 0; i < len; i++){
- if (i % 16 == 0) printk("%#4.4x", i);
- if (i % 2 == 0) printk(" ");
- printk("%2.2x", ((unsigned char *)buf)[i]);
- if (i % 16 == 15) printk("\n");
- }
- printk("\n\n\n\n");
- }
在另外一个内核版本上,上的打印代码回打不全,因为skb->data指针被移动过了,所以得用下面这段:
- if (skb)
- {
- char *buf = (char *)(skb->mac_header);
- int len = skb->len;
- int i;
-
- printk("[%s:%d]Packet length = %#4x\n", __FUNCTION__, __LINE__, len);
- for (i = 0; i < len; i++){
- if (i % 16 == 0) printk("%#4.4x", i);
- if (i % 2 == 0) printk(" ");
- printk("%2.2x", ((unsigned char *)buf)[i]);
- if (i % 16 == 15) printk("\n");
- }
- printk("\n\n\n\n");
- }