gpt4 book ai didi

c++ - 如何更改以太网数据包(来自 NIC 的数据包)?我可以使用 Netfilter Hooks 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 09:54:45 25 4
gpt4 key购买 nike

我想在数据包到达 tcp/ip 层之前捕获该数据包,并使用 C++ 和 UI 将其提供给用户空间。

我该怎么做? Qt 和 Netfilter 可以做到这一点吗?

最佳答案

Qt在那里束手无策。您需要编写一个 netlink NFQueue 处理程序。当您的数据包与 -j NFQUEUE 规则匹配时,您的用户空间程序将接收这些数据包,允许您接受、丢弃或破坏(修改)数据包(仅在 mangle 表中)。如果你可以使用 GPLv2 库,你应该使用 libnetfilter_queue来帮助你。

但是请注意,mac 层并不完整。这是因为网络代码需要支持各种设备类型,而一些非以太网设备没有 MAc 地址。在以太网设备上,您得到的通常只是发送方的 MAC 地址。

关于c++ - 如何更改以太网数据包(来自 NIC 的数据包)?我可以使用 Netfilter Hooks 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6888836/

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