泽畔无材 发表于 2014-06-27 16:55

在一些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头部地址?

lyyxh2004 发表于 2014-08-21 21:57

我在ubuntu12.04Linux ubuntu 3.2.0-23-generic-pae   也碰到过类似的问题,指针定位出错。

humjb_1983 发表于 2014-08-21 22:52

有自己的相关内核模块么?

泽畔无材 发表于 2014-08-22 11:50

顶顶,求了解的大神说明下原因

bensenq 发表于 2014-08-23 21:41

感觉像是头文件不一致了。相关的模块的内核配置一样么?
页: [1]
查看完整版本: 在一些linux设备中skb指针乱套的奇怪问题。。