linux - nf_ct_get(skb,&ctinfo) 函数获取 IPv6 udp 数据包的 netfiter conntrack 'struct conn'

标签 linux networking udp kernel netfilter

我在 net/ipv4/udp.c 和 net/ipv6/udp.c 文件中使用 nf_ct_get(skb, &ctinfo) 函数来获取 udp 数据包的契约(Contract)引用。我注意到我能够在 net/ipv4/udp.c 中获取 IPV4 udp 数据包的“struct conn”引用,但无法在 net/ipv6/udp.c 中获取 IPV6 udp 的“struct conn”引用。你能就此发表一些见解吗?为了您的引用,我在 __udp4_lib_rcv() 和 __udp6_lib_rcv() 函数中放置了 Hook ,以获取对传入 udp 数据包的 conntrack 引用。

最佳答案

IPv6 UDP 协议(protocol)具有 INET6_PROTO_FINAL 特性。因此,这是最终协议(protocol)。

不再需要conntrack。它可能会无限期地加载 conntrack 模块。

查看 net/ipv6/ip6_input.c ip6_input_finish()。 nf_reset() 在 __udp6_lib_recv() 之前调用

关于linux - nf_ct_get(skb,&ctinfo) 函数获取 IPv6 udp 数据包的 netfiter conntrack 'struct conn',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48630242/

相关文章:

r - 尝试在 Linux 上的 R 中安装 rgdal 包时出现问题

php - 如何确定 memcached 中的数据何时到期?

networking - Kafka Docker network_mode

docker - 将本地 Elixir/Erlang 连接到 Docker 容器内正在运行的应用程序

java - 为什么我的程序卡在 DatagramPacket.getData() 的 system.out.print 上

C: sendto() 到多个客户端——所有消息都发送到同一个客户端?

c++ - 增加网关的负载能力

Linux 堆栈驻留内存在堆栈展开后未回收

networking - whatsapp 使用 wireshark 嗅探 ssl 流量

java - 如何记录文件中存储的运行sql语句的执行时间?