xFsRedir程序的NAT网关,以及网关代理和本机代理功能的使用简介(2021年6月更新)

by fanxiushu 2021-06-01 转载或引用请注明源作者

by fanxiushu 2021-06-01 转载或引用请注明原作者。

xFsRedir程序的开发周期最长,功能也越来越丰富,
基本都是大家在使用windows电脑中经常需要使用到的功能(至少我是这样)。
比如多台电脑文件目录共享问题,尤其是各种不同平台,
有时还需要把整块磁盘共享出来,尤其是需要经常访问视频文件,游戏文件这类体量非常庞大的文件群,
使用专门的存储设备,总比放到笔记本这类存储容量有限的电脑中好。
至于xFsRedir目录重定向功能和虚拟磁盘功能,CSDN上的文章已经讲述的非常多了,这里不再赘述。

还有就是局域网的问题,大部分都是处于NAT之后的局域网,不同局域网的设备互相访问实在是个大问题。
比如在家里的电脑或其他设备,与公司内的电脑直接互相访问,或者不同公司内的电脑互相访问。
因为都是不同的NAT局域网,互不相干的,没法如在同一个局域内那么方便。
直接使用局域网功能的程序是非常多的,比如局域内共享打印机,局域网游戏,远程桌面等等这类程序。
有人说可以分配公网IP,这样大家都能互相访问了,可是IPv4地址早就枯竭了,IPv6完全替代还是遥遥无期的事,
即便完全替代了,也会面临ISP商的限制,一样会出现NAT类似的限制问题,
xFsRedir在真实网络环境中建立虚拟局域网,就是为了解决这类问题。
如何使用虚拟局域网功能,CSDN上以前的文章也有讲述,有兴趣可自行去查阅,这里也不再赘述。

还有就是代理,在不方便直接上网,或者直接上网速度非常慢的情况下,通过中间服务器转发,能让上网达到满意的要求。
符合代理的通讯协议也是非常多的,比如 HTTP/HTTPS代理协议,SOCKS5代理协议等目前是网络标准中非常普遍使用的协议。
xFsRedir本次更新主要是增加类似代理和NAT功能,
这个新增功能不是简单的实现SOCKS5类似的通讯协议,而是通过驱动方式拦截和转发IP数据包,使得不支持代理协议的程序
也能通过代理传输,同时实现NAT路由,让其他设备也能转发到NAT路由机器,再在NAT路由机器再次通过代理转发。
所以xFsRedir实现的重点就是如何拦截处理底层IP数据包,真正与SOCKS5代理协议对接其实是其中很小的一部分。
同时xFsRedir实现了私有协议来弥补SOCKS5这类通用代理协议的不足(主要是UDP传输问题)。
此私有协议也不是什么高深的混淆算法,定义的格式比SOCSK5还简单,也方便防火墙对非法使用此软件的的拦截处理。

当初给xFsRedir添加代理,单纯就是为了尽量压榨WFP驱动的价值,
一开始是打算只实现本机代理的,再后来想想干脆把NAT路由网关代理也实现了。
想到NAT路由,因为我长期是使用windows电脑作为NAT网关上网的,
也就是家里的宽带不是路由器ADSL拨号,而是电脑拨号,
然后在通过windows上的NAT网关软件,让其他设备上网的。
这个Windows上的NAT网关软件是我开发的,开发的时间比较长,当初WinXP的时候就有了,主要是利用NDIS中间驱动实现的。
再到后来因为WIN10上中间驱动的问题,采用NDISFilter驱动来代替,这个在CSDN上的文章,都描述过的。
使用NDIS驱动实现NAT是很复杂的事情,底层的东西都需要自己去处理,比如链路层的ARP请求,MAC地址的处理,
IP分片问题,TCP syn协商问题,
因为使用ADSL拨号,具体就是PPPOE协议,是在相同网卡上另外出现的一个协议,也是在链路层,
这些都需要自己去处理,可以说是非常非常的复杂!!
没办法,当初主要是WINXP系统,还没WFP驱动。

一直想替换以前的NAT网关程序,改成WFP驱动实现,可是一直都懒得去替换。
这次更新xFsRedir,干脆一起解决了。
所以xFsRedir的这次更新功能,不是单纯的代理,更多时候,可以作为NAT网关程序使用,
而且还能监控本机流量,监控其他设备流量,设置限速等功能。
具体,我们先来看看下面的一张图,先有个大概的认识。
(xFsRedir提供的内嵌小型Web服务器采集流量信息,iPhone手机浏览器查看的图片)


上图显示的就是NAT路由,和本机所有流量信息,全部都一览无余。
也就是这台机器上网通讯数据,全都呈现在眼前。
页面上的上部分是 NAT路由,下面显示的是本机代理。
NAT路由设置了两条代理规则:
第一条代理目标端口是53,通过本机127.0.0.1私有代理协议转发,也就是NAT路由的所有DNS请求都被再次通过
私有代理协议转发。
第2条代理内网侧的192.168.88.130地址(这个是我手机的IP地址),也就我手机上网的通讯数据全部通过这条代理出去。
代理服务器地址192.168.8.132,也是运行私有协议的服务器。
然后就是下面的默认行为,直接通行(普通路由)模式。
因为不经过代理规则处理的数据包,都会进入到默认的行为模式中,这就相当于普通的NAT网关了。
可以看到页面中显示 192.168.40.XX, 192.168.110.XX,192.168.8.XX等多个不同的子网段,
然后这些子网内的设备,都可以通过这个NAT网关上网。
页面中也可以看到,既然192.168.88.130已经在第2条规则中了,为何在默认行为中还能看到192.168.88.130,
这是因为代理规则只能处理TCP和UDP协议,而像其他比如ICMP等协议是不会处理的,这样自然就会转到默认行为中去了。
再举个例子,上面中第一条规则中出现 192.168.110.4,也就是这个110.4可以通过代理方式解析DNS域名。
而且限速中是无限制的,而到了默认行为中,110.4这个设备是在限速那里设置了“禁止”,
也就意味着,110.4这台设备无法通过本路由上网,
这样造成的结果就是 192.168.110.4这台电脑能解析出DNS域名,但是却无法发送任何其他数据包。

至于页面底下的本机代理也差不多,一共设置了三条规则,其中第2条是禁用的、
其中firefox.exe浏览器被加入到了第3条规则中,并且设置firefox.exe上传限速400KB/s,
(没办法,谁叫这些视频网站不讲武德,利用浏览器中的P2P功能,无节操无底线的上传流量)
可以看到当时firefox的下载速度达到了 4MB/s 之多,因为当时正在看在线视频,

上面的页面中,我们可以点击”限速“按钮,对当前某个程序,或者某个内网侧的IP地址设置限速。
而“详情”按钮,可以看到这个进程或内网侧IP的每条TCP,UDP,ICMP等的通讯细节情况。
可以说任何通讯细节,都难逃xFsRedir的法眼!
如下图详情细节:
 



非常详细的通讯细节,都会展现无疑。

新开发的xFsRedir一共提供两种代理功能(如下图所示):
 



点击进入网关代理,可以看到下面的界面(本机代理也差不多):
 



其中A部分设置主网卡,也就是外网网卡,还有开启windows的转发功能,否则无法转发NAT路由数据包。
B部分就是开启网络数据包监控,也就是文章上面讲述的Web页面监控,这个是几乎囊括了windows系统的任何通讯数据包的细节。
C部分就设置具体的代理规则,
其实这种规则也好界定,无非就是 协议类型,本地地址,目标地址。
所以这里把这个规则设置为三大过滤条件:
1,如果是NAT路由则是内网侧IP地址(这里提内网侧端口无意义,因为内网机器上网,端口都是系统随机分配的)
      如果是本机代理,则就是具体的程序了。
2,目标IP地址,
3,目标端口号。
这个也就是上面规则配置中看到的C部分的内容了。过滤条件里可以同时设置白名单和黑名单。
过滤条件如何设置,都可以点击配置框中的”帮助说明“按钮查看具体细节内容。
如果你经常使用 proxifier 等这类代理软件,对于这里提到的规则也就不会陌生。
因为大的方向都差不多,能做规则的无非就是我上面提到的这些过滤条件。

然后就是执行动作,意思就是根据规则过滤出了这些数据包,
然后该如何处理这些数据包,这个执行动作就是处理数据包的方法。
我们对数据包的处理,无法就是通行,丢弃,或者重定向到代理服务器三种,这个也好理解。
上面的配置是设置成 代理服务器方式,而且是私有协议代理。可以看出,目前就只支持私有代理协议和SOCKS5两种。
”在TCP连接中传输所有UDP数据包“ 这个是私有代理协议特有的功能,
开启此功能后,xFsRedir会与xfs_rdsvr服务端建立TCP连接,然后把截取到UDP数据包,全部通过这些TCP连接传输到xfs_rdsvr服务端。
xfs_rdsvr服务端再发起真正的UDP请求,然后回复的UDP数据也是通过TCP连接回复到xFsRedir中,
接着应用层xFsRedir在把UDP组包成IP数据包传输给底层驱动。

本机代理的配置基本上和上面的NAT路由代理的配置一样的,不同就是没有主网卡和转发功能的配置,
同时内网侧IP变成了程序名。其他的基本都差不多。

xFsredir程序提供的NAT网关以及代理,不单纯是代理。
包括是本机流量监控,限速,NAT路由,等等。
因此比 proxifier 这类专门的代理软件功能更加强大。

此文章对应的最新xFsRedir版本 是 5.0,
在GITHUB上地址是:
https://github.com/fanxiushu/xFsRedir

稍后会把最新版本的xFsRedir更新到GITHUB上。

特别申明:
   xFsRedir软件并不搭建任何服务器,这些都需要使用者自行去搭建配置,
   尤其是xFsredir中的虚拟局域网和代理功能。
   开发作者也不会提供任何固定服务器给xFsRedir程序访问,自然也无法收集使用者的任何信息。
   目前本软件完全免费使用,软件会有水印。
  
   请遵守您所在的国家及地区的相关法律法规使用本软件,
   若违法使用或违法搭建服务器,一切后果自行承担。
   

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值