同胞编码员。我正在使用 libnetfilter_queue 模块和 iptables 规则 ipatbles -I OUTPUT 1 -p all -j NFQUEUE --queue-num 11220 监控我的传出流量
一个名为 Jitsi(在 Java 上运行)的应用程序表现出一种以前从未遇到过的奇怪行为:我处理 NFQUEUE 数据包的监控程序清楚地表明正在发送 UDP 数据包,但是当我查看时:“/ proc/net/udp”和“/proc/net/udp6”它们是空的,而且“/proc/net/protocols”有一个用于UDP的“sockets”列,它是0。但是UDP数据包不断被发送。然后大约一分钟后,“/proc/net/udp”和“/proc/net/protocols”开始显示有关UDP数据包的正确信息。又过了一会儿,在发送 UDP 数据包时,它们中没有任何信息。
我唯一的结论是,应用程序有可能在不创建套接字的情况下发送 UDP 数据包和/或可能创建一个套接字,然后删除它(这样内核认为没有)并且仍然使用一些晦涩的方法来发送外面的包。
请问有人对这种行为有想法吗?