大佬们请教一下,“本地 Python ”和“本地 A 软件”被客户防火墙禁止联网了。如何绕过客户防火墙,达到让“A 软件”连接“公网的 B 服务器”的目的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
sk2580
V2EX    Python

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

  •  
  •   sk2580 2021-02-09 16:42:25 +08:00 2186 次点击
    这是一个创建于 1757 天前的主题,其中的信息可能已经有所发展或是发生改变。
    背景如题。
    补充:软件需要连接外网的服务器才可以使用。谷歌浏览器是可以正常联网的(客户内网和公网都可以)
    目前客户不允许装第三方的软件,他们没有超级管理员权限。


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

    楼上,国内穿不违法
    liuxu
        3
    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
        4
    sujin190  
       2021-02-09 18:05:12 +08:00 via Android
    @liuxu 你理解错了,他们不是允许 80 和 443,是允许浏览器上网,只是浏览器用了 80 和 443,你这样是不合规的,赞同楼上说的,客户的问题就和客户说清楚,让客户自己解决,别私接方案
    sujin190
        5
    sujin190  
       2021-02-09 18:07:19 +08:00 via Android
    当然方案其实是可以的,webdriver 操作浏览器就算了,否则你怎么能说清你没有操作其他的呢
    westoy
        6
    westoy  
       2021-02-09 18:10:34 +08:00
    @liuxu

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

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

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

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

    但具体是什么方式,或者甚至可能真是只放行 80/443 呢?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5473 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 01:38 PVG 09:38 LAX 17:38 JFK 20:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86