在一些linux设备中skb指针乱套的奇怪问题。。
如题,最近逆向了几个路由器,有几个是linux系统的,但是很奇怪的是,其中有两台路由器的skb的一些指针不太对。我在NF_INET_POST_ROUTING处加的钩子,
有一台路由器,直接ip_hdr(skb)就返回0,而且检查skb->head,skb->data附近的数据都没找到ip头
另一台更奇怪,
skb->tail没有指向数据包结尾,而是指向了数据包开头(以太网头部)
skb->end没有指向缓冲区结尾,而是指向了数据包结尾,
skb->data没有指向对应协议头部,而是好像指向了缓冲区开头,
skb->head没有指向缓冲区开头,而是好像指向了缓冲区结尾(skb->head > skb->tail, 很奇怪)。
求问各位大婶,可能是什么原因造成skb的这些指针不对呢?它们自己为什么还能运行得好好的呢?这种情况如何获取ip头部地址? 我在ubuntu12.04Linux ubuntu 3.2.0-23-generic-pae 也碰到过类似的问题,指针定位出错。 有自己的相关内核模块么? 顶顶,求了解的大神说明下原因 感觉像是头文件不一致了。相关的模块的内核配置一样么?
页:
[1]