gpt4 book ai didi

c - 在skb中打印transport_header中的值

转载 作者:行者123 更新时间:2023-11-30 15:58:25 25 4
gpt4 key购买 nike

我正在尝试发送 ping pkt。通过编写内核模块。当我检查通过 tcpdump 发送的内容时,我看到了一些东西,但它不是 icmp header 。所以决定检查 header 中的传输_ header 和网络_ header (skb 的成员)中的内容。我如何使用 printk 命令来执行此操作(或任何其他命令) .请参阅以下代码

icmp.type = ICMP_ECHO;
icmp.code = 0;
icmp.un.echo.sequence = i++;
icmp.un.echo.id = current->pid & 0xFFFF;

skb->transport_header =skb_push(skb,sizeof(icmp));
memset(skb->transport_header,0,sizeof(struct icmphdr));
memcpy(skb->transport_header,&icmp,sizeof(struct icmphdr));

最佳答案

这会很丑陋,但可读:

unsigned int *p = skb->transport_header;
for (i=0;i<sizeof(the header you want)/sizeof(int);i++) {
printk("%08x", ntohl(p_i[i]));
}
printk("\n");

关于c - 在skb中打印transport_header中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9798890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com