大佬们请教一下,“本地 Python ”和“本地 A 软件”被客户防火墙禁止联网了。如何绕过客户防火墙,达到让“A 软件”连接“公网的 B 服务器”的目的?

2021-02-09 16:42:25 +08:00
 sk2580
背景如题。
补充:软件需要连接外网的服务器才可以使用。谷歌浏览器是可以正常联网的(客户内网和公网都可以)
目前客户不允许装第三方的软件,他们没有超级管理员权限。


我的想法是搞一个类似这样的隧道(公网 B 服务器<->本地浏览器<->本地 python 代理服务器<->本地 A 软件)来传递 http 请求
使用 selenium 的 webdriver 操作一个浏览器,然后写段 js 扔到浏览器里进行“http 请求的接收和转发”,这段 js 通过 selenium 的 webdriver 起到 连接 b 服务器和 本地 python 代理服务器的作用。
大佬们,这样可行吗?另外还有什么更好的办法?
1685 次点击
所在节点    Python
13 条回复
lrvy
2021-02-09 16:48:13 +08:00
直接和客户说明情况加白。别私自建隧道,这是违法的行为。
liuxu
2021-02-09 17:02:18 +08:00
这不是技术问题,是规范,不让连就不要换法子代理,而是应该找管理员申请,不然你这属于私建信道,客户可能被管理员处理

楼上,国内穿不违法
liuxu
2021-02-09 17:07:22 +08:00
@liuxu 当然换一个想法,既然允许 80 和 443,也就是没有完全禁止联网服务,那可以让 B 服务使用 80 和 443 做服务端口,合规

也可以使用服务器 C 打开 80 和 443 做端口转发,为 A=》 C ( 80/443 转发)=》 B(服务端口),服务器 C 作为 80 和 443web 端口服务,符合客户防火墙限制规范
sujin190
2021-02-09 18:05:12 +08:00
@liuxu 你理解错了,他们不是允许 80 和 443,是允许浏览器上网,只是浏览器用了 80 和 443,你这样是不合规的,赞同楼上说的,客户的问题就和客户说清楚,让客户自己解决,别私接方案
sujin190
2021-02-09 18:07:19 +08:00
当然方案其实是可以的,webdriver 操作浏览器就算了,否则你怎么能说清你没有操作其他的呢
westoy
2021-02-09 18:10:34 +08:00
@liuxu

给客户部署 VPN 属于增值电信业务,按照电信条例,要许可证的, 有专项种类
liuxu
2021-02-09 18:26:53 +08:00
@sujin190 把 B 的业务作为 HTTP 传输即可,浏览器本身就具备各类应用层协议,ws,webrtc
Ranying
2021-02-09 18:27:21 +08:00
@westoy 没看到有部署 VPN,我觉得只是一个本机的流量转发而已。
liuxu
2021-02-09 18:28:49 +08:00
@westoy 你看的哪份文件,我参照的《计算机信息网络国际联网管理暂行规定》以及《国际通信出入口局管理办法》,前提是跨境。
ericww
2021-02-09 19:57:39 +08:00
让管理员添加软件 A 到白名单
cpstar
2021-02-09 20:03:58 +08:00
问题与描述不相符啊

客户不允许安装第三方软件,这是症结,所以本地 A 软件要怎么才能安装到目标机器上呢?然后才是网络传输问题。

既然浏览器可以联网,要么防火墙上白名单网站,要么浏览器做了特殊的 UserAgent 然后防火墙配合阻断。Either way,都可以伪装成浏览器,发送 HTTP 数据包。所以网络根本不是问题,反而是没有权限安装软件。

LZ 继续补充问题吧,没说清楚。
cz5424
2021-02-10 00:25:51 +08:00
不允许安装第三方软件,然后自带 Python ?,执行一个 exe 算不算安装软件,可以就开个 frp 得了
no1xsyzy
2021-02-10 20:52:24 +08:00
@cpstar Windows 防火墙可以根据可执行文件哈希值来设置规则,这种情况下你无法伪装。
至于 SELinux 可以根据可执行文件路径控制,同时也可阻止对可执行文件的修改。
本地软件 A 显然已经在机器上了。

但具体是什么方式,或者甚至可能真是只放行 80/443 呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/752654

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX