致谢花生壳
关于内网穿透,从技术的角度上讲,是个比较老的话题。我最早使用花生壳免费版实现反向域名解析,后来随着运营商网络调整,家用宽带进入 NAT3 时代,无法外网直连了,迫于代理网速过于感人,不得已的告别让我欠着花生壳一个会员,也让我重新思考:究竟需要什么样的内网穿透工具?
蜿蜒的路
很奇怪,技术人员的脑回路就是有些曲折,往往不是直达目标。那时的我,还是一个北漂的架构师,于是非常合理的决定先做网络引擎,当时 nginx 还不那么火,libev 尚不成熟,几经周折(业余时间少),做了个比 nginx 当时版本快了 40%左右的引擎( 24 线程 2.4MH 单服务器 双千兆网络,http empty QPS 为 130w+),同时也顺便做了个 c++ framework 框架(原由是觉得 ACE/boost 等框架太臃肿低效),这一晃又是几年过去了,后来为了写 framework 的 demo 时终于想起来:我是不是曾经想做个内网穿透工具呢?
到这个时候,智能手机已经是主流了,记得应该是 Android5.0 时代吧。或许各位看官脑袋里会有个问号了:这么久了怎么都没看到你说的穿透工具呢?不要怀疑,归根结底是源自内心深处的懒癌~,有人说“好的程序猿是懒的程序猿”,我是不是好的程序猿不知道,但一定是懒的和你比的那个。
由来
事情的起因是源于某一次的交流,客户现场的 PPT 材料版本中有个附件不是最新的,新版本在异地电脑上,且在家里,各种的因素(不凑巧)造成了交流前最终没能拿到最新版本(所幸未对结果造成影响)…于是,理由充分便有了 SG ,初衷是:我需要一个拿着手机就能一切搞定的安全穿透工具
1
tairan2006 2022-08-08 16:29:07 +08:00
呃,相比 frp 的优势在哪…
|
2
wslzy007 OP @tairan2006
很久没关注 frp 了,记得之前版本 frp 对于穿透到外网时,是通过 frps 的控制台进行配置的,而 xtcp 模式则需要两个 frpc 分别配置重启,貌似 p2p 选项还需要指定。。。网络切换时也会连不上,不清楚现在的版本得到改善了没有 sg 直接在 app 上配就行了,新增删除比较方便。功能上都是端口映射的没有本质区别,只是 frp 使用 UDP 进行打洞,sg 采用 TCP |
3
kchenzhi 2022-08-09 09:30:24 +08:00
占楼请教一下,我有个场景是这样的:两个不同的子网,它们仅支持 http 协议连接,其实就是两边各放了一个 nginx 监听 http 协议,我无权修改。但是我又想基于这个 http 层之上封装一层,实现 TCP 层的链接,这样俩子网之间的 tcp 服务就能互相访问了。 大概得思路是在两个子网各放一个代理节点,监听 tcp 端口,然后将收到的 tcp 报文转成 http 的形式投递到对端代理,对端代理接收到 http 请求后取得报文,再发起 tcp 连接真实的目标端服务。
不知道有没有开源的组件能实现这个需求? |
4
wslzy007 OP @kchenzhi
你的场景应该说明为什么会有这样的网络设置?这种设置为了解决什么问题?无权修改,究竟有哪些权限?少了很多上下文,难以回答。 举个极端例子:微信支付,阿里服务器开放 https 接口,你自己服务器开放 https 回调接口。。。让黑客来试试吧 事实上,可行与否取决于你能否将报文投递到对端 自己的代理上 。首先得有在对端有安装权限吧 。对端 nginx 监听端口你得有权限修改并重启吧 。满足上面条件后,你才能鸠占鹊巢,开心的玩你的代理转发 |
5
aQuQ 2022-08-09 22:09:20 +08:00
印象中好像很久前就用过 lz 的这款工具,在内网穿透工具中确实算简单易上手的
|