基于 VEthernet 轻松实现 tun2socks 示例程序
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)
基于 VEthernet 轻松实现 tun2socks 示例程序相关推荐
- VS2012下基于Glut 绘制矩形管示例程序:
使用GL_QUADS来绘制一个矩形空心管,其中用到了glFrontFace函数.可以按键盘UP,DOWN,LEFT,RIGHT按键旋转坐标系查看3D图形.也可以通过鼠标单击右键弹出的菜单选择正交和透视 ...
- HALCON示例程序class_ndim_norm.hdev基于多通道图像的分类
HALCON示例程序class_ndim_norm.hdev基于多通道图像的分类 示例程序源码(加注释) 读入图片 read_image (Image, 'ic') 得到图片大小 get_image_ ...
- HALCON示例程序class_ndim_box.hdev基于多通道图像的分类
HALCON示例程序class_ndim_box.hdev基于多通道图像的分类 示例程序源码(加注释) 读入图片 read_image (Image, 'ic') 创建一个新的分类器 create_c ...
- 基于Struts2.3.x+Spring3.2.x+Hibernate4.2.x+EasyUI1.3.4+Maven架构的示例程序
基于Struts2.3.x+Spring3.2.x+Hibernate4.2.x+EasyUI1.3.4+Maven架构的示例程序 不知道为什么,保存的时候显示有一个连接为违禁内容,可能是----. ...
- HALCON示例程序class_2dim_unsup.hdev基于二维直方图的聚类分类
HALCON示例程序class_2dim_unsup.hdev基于二维直方图聚类分类的颜色分类 示例程序源码(加注释) 读入图片 read_image (Image, 'patras') 关闭窗口 d ...
- HALCON示例程序check_fish_stick_dimension.hdev生鱼棒尺寸测量;基于形态学的像素级精度尺寸测量
HALCON示例程序check_fish_stick_dimension.hdev基于形态学的像素级精度尺寸测量 示例程序源码(加注释) 关闭实时显示更新 dev_update_off () 关闭窗口 ...
- VS2012下基于Glut 矩阵变换示例程序2:
在VS2012下基于Glut 矩阵变换示例程序:中我们在绘制甜圈或者圆柱时使用矩阵对相应的坐标进行变换后自己绘制甜圈或者圆柱.我们也可以使用glLoadMatrixf.glLoadMatrixd载入变 ...
- SGP30传感器示例程序(基于51单片机、IO模拟I2C)
SGP30传感器示例程序(基于51单片机.IO模拟I2C) SGP30传感器I2C地址:0x58 说明:这里采用使用IO模拟的方式来实现I2C 点击这里下载SGP30测试源码及数据手册 /*SGP30 ...
- PHP程序员helloworld,基于yaf的Hello world示例
基于yaf的Hello world示例,假设我的例子的站点目录为 /var/www/yaf_test ,我采用的目录结构如下: - index.php //入口文件 + public |- .htac ...
- VS2012下基于Glut OpenGL GL_STENCIL_TEST示例程序:
模板测试是把像素存储在模板缓冲区的值与一个参考值进行比较.根据测试的结果,对模板缓冲区中得这个值进行相应的修改. Note:模板测试只有在存在模板缓冲区的情况下才会执行,如果不存在模板缓冲区,模板测试 ...
最新文章
- 代码优化的 5 大原则,第 1 条相信你一开始就没想到!
- python PyQt5 QColor()函数
- boost::mp11::mp_if相关用法的测试程序
- python左移右移位运算_Python这些位运算的妙用,绝对让你大开眼界
- java虚拟机06-内存分区/新生代、老年代
- php常用linux命令httpd,Linux常用的100个命令
- 由浅到深理解ROS(4)
- Tomcat新版本旧版本下载(Windows和Linux)
- linux怎么用网络yum源,Linux配置本地网络YUM源
- 语言专升本必背代码_广东省 2021 年普通高等学校专升本招生学科门类与专业基础课对应表...
- 读书:冯友兰的《中国哲学简史》
- mysql 的基本用法_mysql命令行基本用法
- 个人微信api接口调用-微信好友发来聊天消息
- arm-linux 交叉编译toolchain
- c语言/abs()函数和fabs ()函数
- 提示非标准语法;请使用 ““ 来创建指向成员的指针
- 如何将OGV格式的视频转换成MP4格式
- python plt pyplot matplotlib绘图时形状异常
- delete和delete[]的理解
- Ubuntu系统安装 –修复USB启动盘 “can’t open /dev/sr0: No medium found” 问题
热门文章
- UOS NetworkManager切换Networking
- “配置系统未能初始化” 的异常一种产生原因
- 文件后缀名查询(全)
- 编码器控制电机正反转梯形图_旋转编码器如何控制电机正反转?PLC如何实现?
- 应用密码学:位移密码极简(凯撒密码)
- sql server 2008 的数据类型大全
- idea上maven引用jar出错(The POM for xxx is missing, no dependen)
- c# 代码混淆器ConfuserEX使用
- ardupilot 增加新的定点控制实现刹车
- 云计算技术体系结构介绍