打印skb内容的一小段代码

代码为:

点击(此处)折叠或打开

  1. if (skb)
  2.     {
  3.              char *buf = skb->data;
  4.              int len = skb->len;
  5.              int i;
  6.  
  7.              printk("[%s:%d]Packet length = %#4x\n", __FUNCTION__, __LINE__, len);
  8.              for (= 0; i < len; i++){
  9.                      if (% 16 == 0) printk("%#4.4x", i);
  10.                      if (% 2 == 0) printk(" ");
  11.                      printk("%2.2x", ((unsigned char *)buf)[i]);
  12.                     if (% 16 == 15) printk("\n");
  13.              }
  14.              printk("\n\n\n\n");
  15.      }


在另外一个内核版本上,上的打印代码回打不全,因为skb->data指针被移动过了,所以得用下面这段:

  1. if (skb)
  2. {
  3.      char *buf = (char *)(skb->mac_header);
  4.      int len = skb->len;
  5.      int i;

  6.      printk("[%s:%d]Packet length = %#4x\n", __FUNCTION__, __LINE__, len);
  7.      for (= 0; i < len; i++){
  8.              if (% 16 == 0) printk("%#4.4x", i);
  9.              if (% 2 == 0) printk(" ");
  10.              printk("%2.2x", ((unsigned char *)buf)[i]);
  11.             if (% 16 == 15) printk("\n");
  12.      }
  13.      printk("\n\n\n\n");
  14. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值