gpt4 book ai didi

libpcap - libpcap 在它们下面使用原始套接字吗?

转载 作者:行者123 更新时间:2023-12-02 05:15:20 25 4
gpt4 key购买 nike

我对原始套接字和 libcap 的使用感到有点困惑。任何人都可以简单地指出使用两者的优点。我读了几个链接,但是,它让我感到困惑。

最佳答案

libpcap 在不同的操作系统上使用不同的机制。在 Linux 上,它使用 PF_PACKET 原始套接字或熟套接字,具体取决于它是否了解接口(interface)的 Linux 链路层类型(ARPHRD_ 值)以及该链路层类型的接口(interface)是否生成有用的链路-层 header (PPP 接口(interface)没有,因此您看不到网络层协议(protocol)标识符)。在 Irix 上,它使用带有 RAWPROTO_SNOOP 协议(protocol)的 PF_RAW 套接字。在其他系统上,它根本不使用原始套接字。

原始套接字可用于多种目的,例如发送和接收原始 IPv4 数据包,而不必担心链路层(即它们插入 IP 层而不是网络设备驱动程序)。如果您需要访问原始链路层,大多数操作系统上的原始套接字都不支持(Linux 和 Irix 是明显的异常(exception),根据上一段),但 libpcap 可以。

关于libpcap - libpcap 在它们下面使用原始套接字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7856509/

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