- 操作系统:Ubuntu 15.10 桌面版(64 位)
- 内核:4.3
- 驱动程序:无线
- Path: /net/mac80211/rx.c http://lxr.free-electrons.com/source/net/mac80211/rx.c
下面是我当前的实现(int i = 0;
就在之后struct sta_info *dsta;
, and packet_number++;
就在之前skb = rx->skb;
在原始 rx.c 文件中):
#include <linux/ip.h>
#include <linux/byteorder/generic.h>
unsigned int packet_number = 1;
(etc.)
static void ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
{
(etc.)
int i = 0;
unsigned int *byte_pointer;
unsigned long byte_contents = 0;
if (ntohs(ehdr->h_proto) == 0x0806) {
printk("Packet %d:", packet_number);
for (i = 0; i < 34; i++) {
byte_pointer = (unsigned int *) (rx->skb->data + i);
byte_contents = (unsigned long) (&byte_pointer);
printk(" %lx", byte_contents);
}
}
printk("\n");
packet_number++;
但是,运行 dmesg 显示 printk 输出后,我得到的是:
[ 103.373847] Packet 6: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
[ 103.375720] Packet 7: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
[ 103.572086] Packet 8: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
[ 103.913790] Packet 12: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
[ 108.940615] Packet 20: ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8
[ 114.221127] Packet 28: ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8
[ 143.390755] Packet 1354: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
[ 144.394113] Packet 1401: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
[ 194.730646] Packet 2041: ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8
[ 208.784474] Packet 2059: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
[ 247.409613] Packet 2130: ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8
[ 272.241113] Packet 2171: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
[ 272.241957] Packet 2172: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
[ 272.648982] Packet 2174: ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8 ffff88007bd17bd8
[ 273.877091] Packet 2180: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
[ 273.878104] Packet 2181: ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8 ffff88007c603cb8
这些是我想要的输出:
Packet xx: 74 46 a4 08 06 ...
Packet xx: 55 32 3e 45 98 ...
Packet xx: 00 1b 2c 70 55 ...
rx->skb->data 的数据类型是无符号字符 * http://lxr.free-electrons.com/source/include/linux/skbuff.h#L697,为了使其与 %x 兼容,我必须进行这些转换,最终需要使用 unsigned long 和 %lx 来阻止编译警告的发生。
你能告诉我我做错了什么,以及如何打印每个数据包的前 34 个字节(以太网和 IP 标头)(以太网类型:0x0806,协议:ARP)?
你必须使用%*ph
说明符或print_hex_dump()
如果你想把它放在多行上。无论如何,这并不是为时间紧迫的零件而设计的。因此,在这种情况下,您必须切换到具有相应的跟踪点trace_printk()
calls.
对于慢速的,示例如下。
pr_info("Packet %d: %34ph\n", packet_number, rx->skb->data);
or
pr_info("Packet %d:\n", packet_number);
print_hex_dump(KERN_INFO, "Packet:", DUMP_PREFIX_OFFSET, 16, 1, rx->skb->data, 34, false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)