开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 24971|回复: 1
收起左侧

[C#源码] 基于 VEthernet 轻松实现 tun2socks 示例程序

[复制链接]
结帖率:33% (3/9)
发表于 2021-9-14 13:32:44 | 显示全部楼层 |阅读模式   四川省成都市
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

结帖率:100% (5/5)

签到天数: 12 天

发表于 2022-7-21 15:37:41 | 显示全部楼层   江苏省连云港市
可以写个例子嘛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表