scapy - Scapy、Npcap、WinPcap 等库如何绕过 Window 对发送原始 TCP 数据包的限制?

标签 scapy winpcap npcap

在尝试自己用 Python 执行 TCP 握手之后,我惨痛地了解到现代 Windows 机器不允许通过原始套接字发送 TCP 数据。然而,Python 库 Scapy 似乎能够很好地做到这一点。其他库,如 Npcap 和 WinPcap,似乎也能够在 Windows 上很好地发送原始 TCP 数据。这怎么可能?这些库在幕后做了什么,使它们能够绕过这个限制?

最佳答案

WinPcap(libpcap 的 Windows 实现)作者在他们的网站中说:

WinPcap consists of a driver that extends the operating system to provide low-level network access and a library that is used to easily access low-level network layers.

所以你的问题的答案是:在 Windows 中,libpcap 的实现(这是 Scapy 根据其网站使用的)使用驱动程序来访问低级网络内容

关于scapy - Scapy、Npcap、WinPcap 等库如何绕过 Window 对发送原始 TCP 数据包的限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73757285/

相关文章:

python - 没有收到来自 scapy 的 sr1 函数的响应。如何指定超时参数? [Python]

python - ARP 中毒 scapy : Failure to get target MAC

python - 在 wifi 中使用 scapy

c++ - 在 C++ 中读取 pcap 文件

c# - 如何通过没有 IP 地址的网卡发送 WOL 包(或任何东西)?

http - 如何重新组装tcp段?

perl - 在 Windows 10 上使用草莓 perl 安装 Net::Pcap

python - 使用 Python 发送手工制作的 BPDU(生成树协议(protocol)数据包)