windows – 使用Winsock的原始以太网帧

前端之家收集整理的这篇文章主要介绍了windows – 使用Winsock的原始以太网帧前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在将一个通信库从Linux移植到Windows.我知道我的方法在很大程度上是什么.该库使用所有原始以太网级别帧进行所有通信.

我移植的库使用PF_PACKET族和struct sockaddr_ll.浏览MSDN winsock站点后,我还没有找到一个等效的系列/结构.我的方法应该在这里?

我有一些想法,但我不确定它们是不是好主意
我可以使用PF_UNSPEC,未指定.
我可以传递PF_PACKET表示的数字(这是一个无符号的短)
我也可以在Windows中创建自己的sockadddr_ll结构.

这些想法对我来说都不好看,它们看起来就像是不太可能有效的黑客.

如果有人有任何建议,我将不胜感激.

最佳答案
我假设您指的是Raw Sockets(您必须编写网络层,传输层和应用程序层信息).新的Windows版本(XP SP2及更高版本)对具有许多限制的原始套接字的支持非常有限.

More info(向下滚动到“原始套接字限制”)

我相信,解决方案是使用WinPcap,它允许您在这些系统上使用send raw packets.

猜你在找的Linux相关文章