ftbk86 发表于 2013-04-28 04:21

高手!如何解析8021Q数据包,在struct skb_buffer之中

如何解析8021Q数据包,在struct skb_buffer之中
现在已经通过dev_add_pack 能获取到8021Q数据包.在skb->protocol获取到的是协议也是0x8100(8021Q)

现在如何skb->data 获取此数据的IP 和 Tcp?我已经尝试了iphdr(skb) 和tcphdr(skb)但是得出的结果都不对?

高手该如何处理?

whaaat 发表于 2013-04-28 10:19

skb->data现在是指向8021Q头部的,并且skb->network_header skb->transport_header还没有设置,
你要获得ip头部需要自己剥离8021Q的头部,tcp头部再通过ip头计算

ftbk86 发表于 2013-04-28 10:56

本帖最后由 ftbk86 于 2013-04-28 12:03 编辑

我现在是用ntohs(*(skb->data +2)) 获取到的协议不是0x8100 这个获取错了吗?...
这个里面是包含了vlan_hdr 还是 vlan_ethhdr ?

baofengp 发表于 2013-04-28 16:00

楼上面已经给出来了正解啊。咱们也来支持下吧pptv官方下载也是喜欢多多的来学习点东西才行啊记得自己很长时间都是没有去 暴风影音2013官方免费下载 了都不知道应该在这里学一点什么东西毕竟现在换了工作就是要多多的关注东方cj电视购物这样的东西所以以后会很少来这里了。
页: [1]
查看完整版本: 高手!如何解析8021Q数据包,在struct skb_buffer之中