winpcap/libpcap允许我发送原始无线数据包吗?



我已经使用winpcap通过有线连接发送原始数据包一段时间了。我正在构建自己的协议(没有什么特别的,只是掌握它的窍门),但现在我想把它扩展到无线连接。winpcap允许我通过无线适配器发送原始数据包吗?

我在windows xp和windows 7上使用vc++。在我的windows 7机器上,它似乎可以工作,但在我的xp机器上,winpcap甚至不能打开我的适配器来发送/接收数据包。我试图在我的xp机器上启动wireshark,看看从我的另一台机器发送的数据包是否到达,但是我的wireshark也无法打开我的无线适配器。然后重启进入ubuntu,再试一次。这一次,wireshark确实起作用了,但是数据包没有出现。

关于winpcap的无线传输限制,有什么我应该知道的吗?如果有限制,有没有一种替代方法可以让我在windows上通过无线网络发送原始数据包?

如果"raw"指的是"原始的802.11数据包",那么libpcap可能会允许,但WinPcap就不那么允许了。看看我对另一个问题的回答。如果可以在Linux、*BSD或OS X上将适配器置于监视模式,就可以发送原始的802.11数据包。然而,在Windows上,不仅将其置于监视模式需要大量的工作(可能包括新的内核模式代码!),一旦将其置于监视模式,可能就不可能发送任何数据包。

如果"raw"只是指"原始IP数据包",那么原始IP套接字应该和在以太网上一样好,或者不一样好。

最新更新