我想为 TCP/UDP 流量实现网络延迟模型,如Linux libnetfilter_queue 延迟数据包问题中所述。我已经按照安迪那里的建议,将整个数据包复制到我的程序中并将其放置在优先级队列中。随着时间的推移,优先队列中的数据包将被删除并使用 RAW 套接字进行分派。
我面临的问题是:libnetfilter_queue 对数据包的初始捕获是通过匹配端口来完成的(sudo iptables -A OUTPUT -p udp --dport 8000 -j NFQUEUE --queue-num 0)。当这些数据包被 RAW 套接字重新注入时,它们会再次被 libnetfilter_queue 拾取(因为端口保持不变),因此会一直循环下去。
我真的很迷茫,想不出出路。请帮我。