libpcap 是否获得数据包的副本?

发布于 2024-09-01 00:47:33 字数 147 浏览 12 评论 0原文

libpcap 获取数据包的副本还是实际的数据包?

通过复制,我的意思是:使用 libpcap 的应用程序获取数据包 A,内核也获取数据包 A。

实际上,我的意思是:使用 libpcap 的应用程序获取数据包 A,但内核没有获取数据包 A。得到它。

Does libpcap get a copy of the packet or the actual packet?

By copy, I mean: the application using libpcap gets packet A, and the kernel also gets packet A.

By actual, I mean: only the application using libpcap gets packet A, but the kernel didn't get it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

够运 2024-09-08 00:47:33

libpcap 不会允许你做你想做的事。 pcap 的目标是透明地接收系统中每个数据包的副本。

您应该研究如何与系统中现有的防火墙进行互操作,或者如何将您自己的过滤器添加到 netfilter 系统(在 Linux 上)

libpcap will not allow you to do what you want. The goal of pcap is to transparently receive a copy of every packet in the system.

You should investigate how to inter-operate with the existing firewall in your system, or how to add your own filters to the netfilter system (on Linux)

情绪操控生活 2024-09-08 00:47:33

内核将获取数据包,然后将其通过一系列过滤器(例如,通常有一个 IPsec 过滤器、防火墙等),一旦通过所有这些过滤器,它就会将数据包传递给应用程序。 libpcap 是另一个过滤器,但它只是将数据包添加到内部数据库进行处理,而不是检查数据包、修改或其他过滤器将执行的其他操作。

对于您想要做的事情,最简单的解决方案是使用防火墙。

The kernel will get the packet then pass it through a list of filters (for example, there's usually a filter for IPsec, a firewall and so on) and once it's gone through all of these filters, it passes the packet on to the application. libpcap is another filter, but it simply adds the packet to an internal database for processing, rather than inspecting the packet, modifying or whatever else the other filters will do.

For what you want to do, the simplest solution would be to use a firewall.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文