VEthernet 基于.NET Framework 4.0(x86)+ C# 语言开发,做到不依赖任何第三方开源库,仅对于 “TAP-Windows” 驱动存在依赖。
那么 VEthernet 可以用于那些方面应用的开发?
1、报文嗅探
2、KVM激活(懂...)
3、游戏加速器 [可以轻松实现 tun2socket 模式,简化传统IPvX报文NAT(FULL)实现难度]
4、流量清洗
5、多重网络
............................................................................................
VEthernet 提供了那些技术支持?
1、Windows 平台上的 “防火墙控制”
2、“IPv4路由表控制”
3、“TapTap2Socket” 框架基类(类似 tun2socks TCP/IP,但性能更高效)
4、IPV4/ICMP/TCP/UDP协议
5、Ethernet class [libpcap(winpcap)or RAW_SOCKET] (用于网卡报文嗅探、写入/伪造)
6、.NET CLR托管函数拦截器(Inline-hook by .NET)
7、.NET 4.0 平台简易面向 Socket 的协同程序(YieldContext)
8、高效内置的 S5 / HTTP AGT服务器实现(扩展需重写)
9、RFC WebSocket 服务器实现(扩展需重写)
10、线程保护(ThreadProtection)用于解决 .NET Socket 异步循环收发,会导致栈溢出炸工作线程的问题
11、提供 QoS 控制,用于对指定范围的 Socket 收取数据效率,进行单边限速(TCP/UDP支持)
VEthernet 是采用 C# 语言在 Windows .NET 平台上面捆绑实现的,意味着不可以移植到 Linux 平台,当然大部分代码是可以移植的,Linux 与 Windows 此块其实没有太大区别,反倒 Windows 上面会更加麻烦一点。
..............................................
VEthernet 是采用 .NET Framework 4.0 运行时框架开发的,意味着可以在 Windows XP(SP3)上面运行,但是不推荐,这是因为XP上目前通用版本TAP驱动只提供 10Mbps 带宽速度,这可能不太满足今天需求,当然可以通过手动修改TAP驱动源代码的LINK-SPEED到 100Mbps 在通过配置DDK环境重新编译SYS驱动文件,但是没有太大意义...现在应该没有用XP SP3的用户了把。
.NET Framework 4.0 现代 Windows PC 基本都被安装上(现代AMD/NVIDIA显卡驱动普遍带.NET4.0安装),但是 4.0 以上无法保证大多数 Windows PC 机器都被安装,做 Server & Client 开发,使用框架不是越新越好,而是需要符合普适与兼容性,不是吗?
运行示例程的命令行:,可通过 Visual Studio 2017/2019 及以上调试器运行(请注意:正确提供调试命令行参数)
./tun2socks.exe --proxyserver=192.168.0.21 --proxyport=1080
./tun2socks.exe --proxyserver=192.168.0.21 --proxyport=1080 --bypass-iplist=./ip.txt
--proxyserver=S5服务器IP
--proxyport=S5服务器端口号
--bypass-iplist=绕过IP路由列表文件
补充:不要在项目上勾选 “允许优化代码” 编译运行,这会触发到.NET CLR的执行引擎错误问题,莫名导致应用崩溃,之前用.NET Core RT编译的 native C# 程序就不会崩溃,运行于CLR上则存在这个问题,只要不勾选这个选项就不会导致触发BUG导致崩溃...
...............................................................
获取本文提到的示例程序可以从此URL链接内获取:
liulilittle/VEthernet: Easily implement tun2socks (S5) based on VEthernet. (github.com)
————————————————
版权声明:本文为CSDN博主「liulilittle」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liulilittle/article/details/120269937