Win7下,准备写一个使用SOCK_RAW 监听网卡数据的程序,参考了一些例子,在调用WSAIoctl 时出错,返回10045 错误。
具体情况是如果IP 设为127.0.0.1 则不会出错,可正常运行。但是这样只能监听到部分UDP 数据。
如果IP 设为拔号得到的动态公网IP,则调用WSAIoctl 会返回10045 的错误。
使用错误查找工具,得到错误10045 的解释是:参考的对象类型不支持尝试的操作。
Google之,有人也有同样问题,最接近的答案是跟环境有关,WinXP 下似乎都没问题,Win7下有人可以,有人不行。
很不幸,我是那不行里面的。可能与VPN 驱动等有关。
更具体的原因有待进一步研究。