在Windows中使用TUN驱动程序
发布时间:2020-12-14 05:28:05 所属栏目:Windows 来源:网络整理
导读:我在 Windows 7机器上安装了TAP-WIN32适配器V9.我想用 TUN从接口读取IP数据包.我跟着C#样本 http://www.varsanofiev.com/inside/using_tuntap_under_windows.htm 我修改了下面的代码 IntPtr ptun = Marshal.AllocHGlobal(8); Marshal.WriteInt32(ptun,0x0a03
我在
Windows 7机器上安装了TAP-WIN32适配器V9.我想用
TUN从接口读取IP数据包.我跟着C#样本 http://www.varsanofiev.com/inside/using_tuntap_under_windows.htm 我修改了下面的代码 IntPtr ptun = Marshal.AllocHGlobal(8); Marshal.WriteInt32(ptun,0x0a030001); Marshal.WriteInt32(ptun,4,unchecked((int)0x00ffffFF)); bool val = DeviceIoControl (ptr,TAP_CONTROL_CODE (5,METHOD_BUFFERED) /*POINT TO POINT */,ptun,8,out len,IntPtr.Zero); 但是,我似乎仍然没有得到IP数据包.我在另一端运行了tcpdump 这是尝试从TUN接口获取IP数据包的正确方法吗? 解决方法
不,这不是正确的方法. 遗憾的是,tap / tun驱动程序仅在Windows中的tap模式下工作. 这意味着您可以接收以太网数据包,而不是IP. 让我们考虑一下你的目标地址X有一些IP数据包的情况.在以太网层发送这个数据包之前,OS会创建一个ARP查询,嘿,IP X,你的MAC是什么? 在这种情况下,您必须实现ARP层.在ARP协商之后,系统将发送以太网封装的IP paket.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- microsoft sql相当于mysql的REGEXP
- 是否可以执行一个没有exe的.NET DLL来加载它?
- .net – 适用于Windows的Amazon EC2值得吗?
- windows – MEMORY_BASIC_INFORMATION结构中的BaseAddress和
- win10哪个版本最好用,推荐win10企业版LTSC
- Windows Phone 7 – WP7无效的跨线程访问 – ScheduledTask
- 由于iSCSI连接导致Windows重新启动时间过长
- winapi – 避免UAC,但使用Windows服务启动升级过程
- windows-server-2008 – 非递归地更改Windows权限
- powershell – 需要自签证书Win2012 r2 SHA256 4年到期
推荐文章
站长推荐
热点阅读