我已经在我的 Windows 7 机器上安装了TAP-WIN32 Adapter V9 。我想使用 TUN 从接口中读取 IP 数据包。我遵循了来自 http://www.varsanofiev.com/inside/using_tuntap_under_windows.htm的 C# 示例
我修改了如下代码
IntPtr ptun = Marshal.AllocHGlobal(8);
Marshal.WriteInt32(ptun, 0, 0x0a030001);
Marshal.WriteInt32(ptun, 4, unchecked((int)0x00ffffFF));
bool val = DeviceIoControl (ptr, TAP_CONTROL_CODE (5, METHOD_BUFFERED) /*POINT TO POINT */, ptun, 8,ptun, 8, out len, IntPtr.Zero);
但是,我似乎仍然没有收到 IP 数据包。我在另一端运行了 tcpdump,它抱怨“Wrong link layer encapsulation”。
这是尝试从 TUN 接口获取 IP 数据包的正确方法吗?