- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个程序需要从结构“skbuff”中获取源地址,在以前的内核版本中,我可以使用以下行获取“saddr”:
static __u32
get_src_ip(const struct sk_buff *skb){
return ntohl(skb->nh.iph->saddr);
}
错误信息如下:
error: 'const struct sk_buff' has no member named 'nh'
谁能告诉我正确的代码?谢谢!
最佳答案
sk_buff 从 Linux 2.6.22 开始改变了它的结构名称。您应该改用 skb->network_header
。
好吧,您可能还需要更改很多成员变量名称 - 只需引用最新的手册即可。
关于linux - 如何从结构 "skbuff"中获取地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/816629/
我正在尝试编写一个内核模块,它是USB驱动程序和网络驱动程序的组合,现在每当USB驱动程序接收到数据时,它都会在struct urb中,但是网络所需的数据驱动程序是sk_buff,现在我如何将urb转
使用 Netfilter 的钩子(Hook)(NF_INET_PRE_ROUTING 和 NF_INET_POST_ROUTING)我实现了一个内核模块来监控给定主机的所有传入和传出数据包。通过查看
我有一个程序需要从结构“skbuff”中获取源地址,在以前的内核版本中,我可以使用以下行获取“saddr”: static __u32 get_src_ip(const struct sk_buff
我正在开发一个应用程序,它通过监视系统的端口来猜测您的应用程序是否受到攻击。为此我决定直播sk_buff通过内核模块的变量。 但目前我遇到了以下问题: 无法访问 skbuff.h 头文件。当我做的时候
我在很多书上看到skbuff.h的路径是usr/include/linux。我在 Ubuntu、fedora 和 backtrack 中搜索,但找不到头文件。谁能帮我找到这个文件?提前致谢。 最佳答案
sk_buff 有两个地方可以存储下一个碎片数据: skb_shinfo(head)->frag_list skb_shinfo(head)->frags[] 这两种处理碎片的方式有什么区别? 最佳答
我读了源代码,但它确实让我困惑。例如函数 sib_mac_header 函数,它是下面代码中的第三个函数,sib -> head 是指向分配的缓冲区头的指针,sib -> mac_header 是指向
我是一名优秀的程序员,十分优秀!