V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
haoxingxing
V2EX  ›  宽带症候群

论如何伪装家庭宽带 HTTP 服务

  •  
  •   haoxingxing · 2019-11-23 09:59:42 +08:00 via iPad · 8270 次点击
    这是一个创建于 1610 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前提:电信检测 http 服务是通过 http 嗅探而不是流量检测

    做法:

    编写一个反向代理,并只把这个代理开放到公网

    每当有一个新连接连入时,检测连接传输的前一百个字符中是否含有指定的字符串,

    如果没有,直接断开连接,不发送任何响应

    如果有,就按照反向代理连接到内网服务

    原理:

    根据 http 请求头 如 关键词 proxy

    http://example.com/proxy

    GET /proxy HTTP/xx

    第一次发帖,见谅,

    33 条回复    2019-11-27 14:39:55 +08:00
    hanqi7012
        1
    hanqi7012  
       2019-11-23 10:08:28 +08:00 via iPhone
    前提是咋得出的?
    herozzm
        2
    herozzm  
       2019-11-23 10:18:01 +08:00
    随便买个 vps,然后反代给 adsl,其他一律拒绝,这样应该没问题
    hanqi7012
        3
    hanqi7012  
       2019-11-23 10:23:28 +08:00 via iPhone
    @herozzm 反代也过不了包检测
    现成的 frp 啥的不就好了 还靠谱
    takitooru
        4
    takitooru  
       2019-11-23 10:39:27 +08:00
    有一个思路:
    1.建立一个独立的 TCP 服务端,只接收数据,然后识别 GET 路径的字符串,当字符串是特定字符串时,把这个请求的 IP 加入防火墙里面(有效期可以自己设定),允许它访问所有 HTTP/S 服务。
    这样即使被扫描,也只会被扫描到那个没有任何数据返回的 TCP 端口。

    2.打开 HTTP/S 之前需要先打开另一个端口的网页 http://xxxx:1234/keyword,然后关闭这个这个假网页,再打开正常运行的 HTTP/S 服务即可。

    3.当然有个问题是,在复杂的网络环境,比如长城宽带,你打开这两个端口的源 IP 可能不一样,导致加入防火墙的 IP 地址对于 HTTP/S 服务来说无效。
    myqoo
        5
    myqoo  
       2019-11-23 10:51:16 +08:00   ❤️ 3
    @takitooru 这思路 20 年前就有了,port knocking,两个 iptables 命令就可以搞定。
    yangxin0
        6
    yangxin0  
       2019-11-23 10:53:25 +08:00 via iPad
    买一台阿里云,用 openvpn 桥接起来问题不就解了
    takitooru
        7
    takitooru  
       2019-11-23 10:55:49 +08:00
    @myqoo #5 我稍微看了下 端口敲门,按照指定顺序端口连接的做法适合机器去访问,不适合人去操作。识别 http get 的路径只需要用户用浏览器打开一个网页就行。
    myqoo
        8
    myqoo  
       2019-11-23 11:37:50 +08:00
    @takitooru 也可以做成 http 版的,iptables 加上 http 特征的 match 就好了
    muzuiget
        9
    muzuiget  
       2019-11-23 11:53:14 +08:00
    哪用发明轮子,买个 VPS,支持 ssh 登录,即可,然后用 ssh -R 反代,完事。
    optional
        10
    optional  
       2019-11-23 11:55:30 +08:00 via iPhone
    iptables 就能搞定
    optional
        11
    optional  
       2019-11-23 11:55:40 +08:00 via iPhone
    但是没用
    optional
        12
    optional  
       2019-11-23 11:56:16 +08:00 via iPhone
    回去翻翻协议,没有包含就怼,包含了就别作
    justs0o
        13
    justs0o  
       2019-11-23 11:57:37 +08:00
    @takitooru @haoxingxing

    分光镜像分析,你这条链路做过啥都能知道,限制 IP 没用的
    ZRS
        14
    ZRS  
       2019-11-23 12:25:44 +08:00 via iPhone
    TLS 换端口 加密码
    LPeJuN6lLsS9
        15
    LPeJuN6lLsS9  
       2019-11-23 13:35:51 +08:00
    我觉得完全可能是和某墙一样是通过深度包检测查到的
    pwrliang
        16
    pwrliang  
       2019-11-23 15:16:02 +08:00 via Android
    为啥不开 VPN 连回去…
    daveh
        17
    daveh  
       2019-11-23 15:18:07 +08:00 via iPhone
    ss 反代回来。
    alphatoad
        18
    alphatoad  
       2019-11-23 16:07:17 +08:00
    目前阶段的 TLS 会暴露 ALPN 和 sni ( TLS 1.3 可选加密 sni,ALPN 没办法了)
    双向证书认证除了浏览器基本没有实现
    dpi 实在是躲不过
    lydasia
        19
    lydasia  
       2019-11-23 16:41:20 +08:00 via Android
    vpn 回家不好用么
    fortitudeZDY
        20
    fortitudeZDY  
       2019-11-23 17:48:54 +08:00 via Android
    @lydasia 是啊,搞折磨复杂干啥,ovpn 连回去得了
    est
        21
    est  
       2019-11-23 18:02:01 +08:00
    如果是嗅探,那么直接访问白名单不就行了。。
    cwbsw
        22
    cwbsw  
       2019-11-23 18:12:11 +08:00
    从此科学上网又多了一项需要具备的技能。
    txydhr
        23
    txydhr  
       2019-11-23 18:15:21 +08:00 via iPad
    @herozzm 如果是流量检测就没用
    xmoiduts
        24
    xmoiduts  
       2019-11-23 21:11:10 +08:00 via Android
    vps+zerotier ?
    supppig
        25
    supppig  
       2019-11-23 23:40:07 +08:00
    坐标广州,未雨绸缪先打定底。
    条件:1 个备案域名。
    限制:流量较少,10G/月。
    方法:腾讯云 CDN,提交工单要腾讯的节点列表,路由设置只允许特定列表的 IP 段连接( ipset+iptables )。
    效果:通过备案域名访问完全 OK,非白名单 IP 连接就像没开端口一样。。。

    备用方法:
    路由搭 nginx,只能通过特定域名访问,通过 ip 访问的直接 deny ( 40x 都不返回)。
    ihipop
        26
    ihipop  
       2019-11-24 09:51:12 +08:00 via Android
    tcp 敲门这么简单的手段都不用
    moln
        27
    moln  
       2019-11-24 20:13:02 +08:00   ❤️ 3
    现状:村子被鬼子围了
    目标:跟八路交换物资,不然鬼子知道
    思路:大门紧闭,鬼子来喊话,就不开门,八路来喊对了暗号才开门

    鬼子:你们一大帮人进进出出当我是瞎子吗😂
    lc7029
        28
    lc7029  
       2019-11-25 07:56:29 +08:00 via iPhone
    深度流量检测,做啥都能知道,不管是不是检测来源
    Lunatic1
        29
    Lunatic1  
       2019-11-25 09:46:52 +08:00
    frp 难道不香吗?
    samondlee
        30
    samondlee  
       2019-11-25 09:50:46 +08:00
    在防火墙检查出站流量,包含 404 的就断开连接
    ttimasdf
        31
    ttimasdf  
       2019-11-26 16:07:17 +08:00
    跑个 ss 或者 v2 服务端,在外面连呗。。你就想象你的路由器是防火墙的另一头,再配置一下内网 dns、内网路由啥的,还能实现分路由转发。

    有的人爱用 ovpn、wg、frp 啥的,楼主可以权衡一下,哪个配置文件写起来麻烦,哪个客户端用起来容易。用不着弄什么 port knocking、iptables 啥的,都是花把式。
    ttimasdf
        32
    ttimasdf  
       2019-11-26 16:19:56 +08:00
    楼上有些人,别总用码农的思路去思考,从高一点的视角去想问题的前提是什么,怎么解决问题,扯一堆高大上的技术真的没用。

    你搞了 port knocking 你移动端用脚去访问?还是我为了一个 http 服务,我要自己写个构造特定包的安卓应用、Mac 应用、Windows 应用,每次访问前启动一下?你家里搞一个 http 服务阿里云中转,花这么钱我干嘛不搁 vps 部署服务(而且我们还不知道楼主的应用是啥)?现在 DPI 成本也不高,运营商买俩设备检测个流量,frp 是不又凉了?
    austinchou0126
        33
    austinchou0126  
       2019-11-27 14:39:55 +08:00
    我写了一个解决方法,对于必须的网页服务,记得上 HTTPS,利用 sniproxy 保护好自己 /t/623594
    当然运营商如果针对请求进行抓包检查的话,那还是会暴露 SNI,那真没办法了,毕竟都到这一步了(手动狗头
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2945 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 03:37 · PVG 11:37 · LAX 20:37 · JFK 23:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.