gpt4 book ai didi

c - 是否有已关联接收套接字的 netfilter Hook ?

转载 作者:行者123 更新时间:2023-11-30 14:33:42 27 4
gpt4 key购买 nike

NF_INET_LOCAL_OUT 钩子(Hook)的 skb->sk 指向发送数据包的套接字的 struct sock。是否有一个钩子(Hook)为接收数据包的套接字设置了它?在 NF_INET_LOCAL_IN Hook 中,skb->sk 为 null。

我必须使用__inet_lookup_skb()吗?如果是,该函数的复杂度是多少?

编辑:看起来__inet_lookup_skb()仅适用于TCP,因为没有udp_hashinfo。我最初是为 UDP 这样做的。

最佳答案

作为一个小补充:
UDP 输入路径有点不同(与 TCP):
NF_INET_LOCAL_IN Hook ->
->ip_local_deliver_finish()->udp_rcv()->__udp4_lib_rcv()->__udp4_lib_lookup()

__udp4_lib_lookup() 获取特定 IP 地址和端口的 struct sock
当然,在 L3 的输入路径上(Netfilter 钩子(Hook)在哪里)仍然没有套接字查找(因此也没有套接字)。这是传输层的工作,取决于具体的协议(protocol)。

所以,是的,在这种情况下,LSM 钩子(Hook)可以派上用场。另外,根据您的需要,您可以开发合适的内核补丁。

关于c - 是否有已关联接收套接字的 netfilter Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59187734/

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