【发布时间】:2011-12-18 06:59:03
【问题描述】:
一段时间以来,我一直在使用 winpcap 通过有线连接发送原始数据包。我正在构建自己的协议(没什么特别的,只是掌握它的窍门),但现在我也想将它扩展到无线连接。 winpcap 是否允许我通过无线适配器发送原始数据包?
我在 windows xp 和 windows 7 上使用 VC++。在我的 windows 7 机器上它似乎可以工作,但在我的 xp 机器上 winpcap 甚至无法打开我的适配器来发送/接收数据包。我试图在我的 xp 机器上启动wireshark 以查看从我的另一台机器发送的数据包是否到达,但我的wireshark 也无法打开我的无线适配器。然后重新启动进入ubuntu并再次尝试。这次wireshark确实工作了,但是数据包没有出现。
关于 winpcap 在无线传输方面的限制,我有什么需要了解的吗?如果有限制,是否有替代方法可以让我在 Windows 上通过无线网络发送原始数据包?
【问题讨论】:
-
1.编写自己的低级协议通常是一个坏主意,您最好至少坚持使用 ip,最好使用 tcp 或 udp,并在其上添加自己的应用程序层。
-
2. windows 允许发送原始数据包而不使用 libpcap。
-
@adrien:不过,只有管理员用户才能访问 Windows 上的 RAW 套接字。
-
最重要的是,在 windows 7 之前,windows xp sp2+ 中不支持(或受限制)原始套接字。只有 windows xp sp 1 以下。所以我认为使用 winpcap/lipcap 是更便携的方法。 @Adrien,我正在编写的协议永远不会用于任何严肃的事情。这只是为了消遣,因为我想看看我是否可以让计算机以他们想要的方式进行交流。
-
还有人有什么想法吗?如何通过无线网络发送原始数据包?