首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WINAPI:读取原始字节的网络适配器的CreateFile

WINAPI:读取原始字节的网络适配器的CreateFile
EN

Stack Overflow用户
提问于 2010-10-11 11:38:10
回答 2查看 1.2K关注 0票数 1

是否可以读取类似于串行端口的网络适配器?我知道串口可以用CreateFile的WINAPI函数读取。是否有类似的方法从网络适配器读取原始字节?

我知道WiFi/Network Function,但WiFi示例相当稀疏。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-11 21:04:14

您可以在使用WSASocket()创建套接字时传递SOCK_RAW标志(或根据您的喜好使用socket() )。这在MSDN上的TCP/IP Raw Sockets中有更详细的描述。

从那一页--

一旦应用程序创建了SOCK_RAW类型的套接字,此套接字就可用于发送和接收数据。在类型为SOCK_RAW的套接字上发送或接收的所有数据包都被视为未连接套接字上的数据报。

值得注意的是,微软在Windows XP SP2之后削弱了他们的原始套接字实现;详细信息在MSDN页面的Limitations on Raw Sockets:一节中描述

无法通过原始套接字发送

  • TCP数据。无法通过原始套接字发送源地址无效的
  • UDP数据报。
  • 不允许使用原始套接字调用绑定函数。

如果这些限制过于严格,您可以退回到以前推荐的winpcap库。

票数 1
EN

Stack Overflow用户

发布于 2010-10-11 11:49:33

如果您想捕获原始数据包,则需要像WinPCAP这样的支持驱动程序来执行此操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3903373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档