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

2024-04-24

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


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

WinPcap 由一个扩展操作系统以提供低级网络访问的驱动程序和一个用于轻松访问低级网络层的库组成。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Winpcap笔记3之打开适配器并捕获数据包

    上一讲中知道了如何获取适配的信息 xff0c 这一将我们讲写一个程序蒋每一个通过适配器的数据包打印出来 打开设备的函数是pcap open 函数原型是 pcap t pcap open const char source int snapl
  • Winpcap数据包的抓取及还原

    winpcap技术手册 xff0c 除了安装文件里doc文件下有个帮助 xff0c 这里在给一个 xff1a http www ferrisxu com WinPcap html index html 这里我们用pcap next ex 函
  • Winpcap教程(高级应用)

    循序渐进学习使用WINPCAP xff08 五 xff09 WinPcap或libpca最强大的特点之一就是数据流的过滤引擎 它提供一种高效的方法来只捕获网络数据流的某些数据而且常常和系统的捕获机制相集成 过滤数据的函数是pcap comp
  • type object ‘Path‘ has no attribute ‘home‘

    报错 根据堆栈定位 是matplotlib init py文件里面562行位置报错的问题 讲道理 应该没有问题来着 进入到matplotlib init py文件 然后悬停Path和home 发现 emmm 文件居然不一样 好的 在我尝试更
  • 从 scapy 数据包中获取信息字符串

    我在我正在构建的工具中以非交互方式 即作为库 使用 scapy 2 3 1 dev 我想获取有关数据包的一串人类可读的信息 例如您从scapy all Packet show 我尝试过使用所有三种方法 packet show packet
  • 在Windows 64位上编译gopacket

    我正在尝试使用gopacket在我的 Windows 10 上 我用它来嗅探数据包并将数据包直接注入到网卡或从网卡注入数据包 我可以使用 GOARCH 386 轻松编译和运行我的代码 但不能在 GOARCH amd64 中编译和运行我的代码
  • Python/Scapy:仅嗅探传入数据包

    我可以在 Scapy 中仅嗅探传入数据包或仅嗅探传出数据包吗 无需在数据包字段上添加过滤器 简短的回答 不 Scapy 的嗅探功能不区分传入和传出的数据包 如果你想根据源mac进行过滤 你可以这样做 MYMAC 12 34 56 78 90
  • 使用python从MAC获取IP地址

    我的本地网络中有一个设备并且知道它的 MAC 地址 它通过 DHCP 自动获取 IP 地址 我想获得这个IP 我不想使用 nmap 但 scapy 就可以了 因为我是从 kivy 应用程序导入的 I found from scapy all
  • Scapy多次嗅探数据包?

    我正在使用 Scapy 通过使用以下代码来捕获数据包 from scapy all import def verify p p display sniff prn verify iface lo 嗅探功能多次捕获每个数据包 例如 如果我有一
  • scapy.sr 和 scapy.srp 之间的差异

    我正在使用 Scapy 扫描我的网络 但看不到功能之间的差异 scapy sr and scapy srp 文档说scapy sr 返回数据包来自layer 3 and scapy srp 返回数据包来自layer 2 这些层是什么 抱歉我
  • Scapy 可变长度字段

    我试图理解 PacketListField 和 FieldListField 之间的区别 有人可以让我知道在添加新协议时如何使用它们吗 我也不清楚StrLenField FieldLenField和PacketLenField 我正在尝试制
  • pcap_pkthdr 是做什么用的?

    代码片段来自here https www winpcap org docs docs 40 2 html group wpcap tut6 html void packet handler u char param const struct
  • ipsec.py 找不到属性 IPPROTO_IP 和 socket.IPPROTO_IP

    我安装了 python 2 6 的模块 scapy 当我导入此模块时 我收到此警告 警告 无法导入层 ipsec 模块 对象没有属性 IPPROTO AH 我查看了套接字属性 但没有找到 IPPROTO AH 属性 此外 我尝试编辑模块 i
  • 使用 Scapy 与 C 套接字对话

    我有一个 UDP 连接并在端口 localhost 上侦听 并且我也尝试从 localhost 发送 Scapy 数据包 由于某种原因 我的 C 代码从未真正捕获数据包 但我可以很好地看到数据包显示在 Wireshark 中 我已经有一段时
  • 使用 scapy 作为 MITM 即时更改数据包

    假设我设法处于客户端和服务器之间的通信中间 假设我打开一个热点并导致客户端仅通过我的机器连接到服务器 如何更改客户端发送和接收的数据包而不中断我自己与其他服务的通信 必须有一种方法可以通过我的脚本路由客户端发送和即将接收 在将它们转发给他之
  • Scapy:原始 ICMP 数据包没有回复

    我已经构建了一个数据包scapy a IP dst 192 168 0 1 proto 1 x08 x00 xf7 xff x00 x00 x00 x00 I run send a Wireshark 显示有来自 192 168 0 1 的
  • Scapy:处理部分 TLS 段

    我正在尝试使用 Scapy 从 pcap 中提取 TLS 元数据 我能够成功解析数据包和单个消息 例如 client hello server hello 等及其字段 我遇到的问题是当 TLS 记录分布在多个 TCP 数据包 段时 这种情况
  • Scapy:如何获取完整的 IP 数据包标头?

    在 Scapy 中 我想要manually将数据包与其相应的 ICMP 超时消息进行匹配 我需要匹配 ICMP 数据包的 IP in ICMP 字段 IP 标头和数据包的前 8 个字节 ICMP 数据包不是问题 icmpPayload st
  • 当scapy和pypcap严重丢失时,如何嗅探python上的所有数据包?

    我尝试使用 python 在 Win10 上嗅探数据包 然而 我发现很多数据包实际上是被 scapy 丢弃的 例如 我从 ftp 下载一个 2 MB 的文件 wireshark 捕获了近 2000 个数据包 而 scapy 只捕获了 500
  • 获取数据包中的所有层

    如何获取 scapy 中所有图层的列表 例如 Ether IP UDP DNS or Ether IP TCP HTTP 我唯一能想到的就是做一个packet summary 并解析输出 这看起来很粗糙 我认为应该有一个内置的方法 但在文档

随机推荐