V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hxd
V2EX  ›  程序员

路由上做透明代理能不能判断请求源?

  •  
  •   hxd · 2022-04-16 15:01:38 +08:00 · 1985 次点击
    这是一个创建于 747 天前的主题,其中的信息可能已经有所发展或是发生改变。

    迫于内鬼程序多,想着不能把全部的路打通。
    比如 win 系统上开 Q 、微之类的会使得各梯更容易坏,更不稳。
    而放到虚拟机里面的话则没事。

    路由上开全局透明的话,那些终端的请求就默认打通了,
    就更容易被拿到节点地址并被直接堵住。
    所以还是得判断是从哪里来的,
    赵狗 app 及浏览器之类来源的话,就忽略。
    其它的才作判断。

    能做到吗?

    23 条回复    2022-04-17 17:49:08 +08:00
    gamexg
        1
    gamexg  
       2022-04-16 15:06:28 +08:00
    虚拟机桥接模式,这样虚拟机会有独立 ip
    hxd
        2
    hxd  
    OP
       2022-04-16 15:09:03 +08:00
    我意思是在路由器上做透明代理。

    虚拟机只是拿来举一个赵鬼扰梯的例子。
    smallfount
        3
    smallfount  
       2022-04-16 15:13:26 +08:00
    ....问题不是。。你的请求源不是同一个 IP 吗?这对 3 层来说没撒区别啊。
    而且不管哪里的透明代理。。都可以根据目标去引流不是。。
    Clarke
        4
    Clarke  
       2022-04-16 15:21:38 +08:00   ❤️ 1
    国产软件都放虚拟机里(虚拟机要跟路由器处于同一子网),然后路由器判断凡是来源是虚拟机的 IP 的数据包一律直连不就行了?
    cxtrinityy
        5
    cxtrinityy  
       2022-04-16 15:23:39 +08:00   ❤️ 2
    ip 区分 pc, 端口区分进程, 所以答案是 no
    做个分流就好了, 国内请求直连, github 上类似 gfwlist 不是都有么, 而且实测 Q 微信之类对梯子根本没影响不用多想, 我路由器代理跑了几年也没见梯子坏了
    hxd
        6
    hxd  
    OP
       2022-04-16 15:23:58 +08:00
    @smallfount
    当然不是同一个 ip 啊,会有多人多电脑及各移动设备呀。
    而且就算同一个设备的局域网设备过来,也想判断是什么样的东西发起的请求呀。
    (比如微信里发起的请求,就不想给它走代理,因为等于把梯址告诉这只赵狗了)

    而通过设备里非国产浏览器或者可信 app 的,比如 chrome 、油、Inst 之类的,就可以放心地交给后续规则了。
    hxd
        7
    hxd  
    OP
       2022-04-16 15:32:12 +08:00
    @Clarke #4
    之前就是这么做的。
    问题现在是想在路由器做透明代理,但想拒绝其他电脑和手机上国产软件来的穿越连接。


    @cxtrinityy #5
    那你运气挺好的。可能也分地方及具体个例吧。
    我是得尽量小心区分了。
    smallfount
        8
    smallfount  
       2022-04-16 15:33:16 +08:00
    ....都不是同一个 IP 为何要搞那么复杂...
    透明代理单臂化....不需要的直接走默认网关啥都别管
    需要的网关指向透明代理路由选择去不就好了。
    smallfount
        9
    smallfount  
       2022-04-16 15:34:57 +08:00   ❤️ 1
    @cxtrinityy 对啊,现在扶梯工具本身根据目标的引流甚至于直接导入 application list 都可以....大陆 IP 的东西基本就不会过梯子嘛。。
    cxtrinityy
        10
    cxtrinityy  
       2022-04-16 15:37:46 +08:00
    @hxd 谈不上运气吧, 分流之后 q 和微信的请求就不会走代理, 根本不知道代理的 ip, 不可能有影响
    Clarke
        11
    Clarke  
       2022-04-16 15:38:09 +08:00
    @hxd #7 那你需要把规则设成默认直连,然后把 IP 固定住,符合条件的 IP 才走透明代理
    hxd
        12
    hxd  
    OP
       2022-04-16 15:39:44 +08:00
    @smallfount #8 #9
    想要让大家都能穿越,但要防通过国产 app 的穿越请求。
    比如微信内置浏览器,就是想防的重点之一。
    它虽然是大陆的东西,但经常会通过链接啊什么的去请求外面的地址。

    我找找你所说的 application list ,如果这样能行得通的话,那是最好不过了。
    smallfount
        13
    smallfount  
       2022-04-16 15:40:57 +08:00   ❤️ 1
    @hxd
    内置浏览器对 3 层来说。。。可能没撒区别。。。本质上都是 Https 请求。。。
    hxd
        14
    hxd  
    OP
       2022-04-16 15:42:53 +08:00
    @Clarke #11
    参考我 12 楼, 仅 ip 还不够的。
    放心的设备,也会有不放心的东西发起的请求,最典型的就是微信内置浏览器。
    类似的还有很多,包括但不限于国产浏览器和其它国产 app 的内置浏览器。
    hxd
        15
    hxd  
    OP
       2022-04-16 15:43:48 +08:00
    @smallfount #13
    那么说起来,基本上做不到了?
    yaoyao1128
        16
    yaoyao1128  
       2022-04-16 15:47:35 +08:00 via iPhone   ❤️ 1
    @hxd 请求源 ip 当然是一个 一个设备作为请求源,这个设备的请求源 ip 在 dhcp 分配且续租的情况下当然是一个

    你说的是请求目的 ip 才是这些应用请求的是谁

    请求目的 ip 的话 就是规则模式啊
    Clarke
        17
    Clarke  
       2022-04-16 15:47:54 +08:00   ❤️ 2
    @hxd #14 你的这个要求在路由器端做还是太难了,因为这些软件都是闭源的,你永远不知道它可能会往哪个地址发送请求。我感觉还是专门还是准备一台设备装国产软件,要走代理的设备上一个国产软件都不能有。装了国产软件的设备一律视为不受信任的设备,然后一律直连。
    smallfount
        18
    smallfount  
       2022-04-16 15:55:05 +08:00   ❤️ 1
    @hxd 你想要区分的东西在 3 层设备上是没有特征的那种.....
    因为基本都跟常规浏览器一个特性。
    然后目标 IP 又无法区分。。
    那么单从 3 层来说。。。他本身跟你用 web 浏览器的流量就是无法区分开来的。。。
    只要没有明确的逻辑能把他们区别出来。。那谁又能知道这是啥呢。。
    hxd
        19
    hxd  
    OP
       2022-04-16 16:01:43 +08:00
    那看来当前是做不到了,可惜。。。
    只能暂时作罢了。


    @yaoyao1128 #16
    我是要进一步判断设备上发起请求的 app 。
    看起来现在是做不到了,只能暂时作罢了。
    zhouzm
        20
    zhouzm  
       2022-04-16 21:12:22 +08:00
    1 楼明明已经给出了方案,再给你说清楚点。
    虚拟机桥接模式,同网段 IP ,路由器上 iptables 排除这个 ip ,你想关起来的 app 扔虚拟机里
    Kinnice
        21
    Kinnice  
       2022-04-16 23:17:15 +08:00 via Android   ❤️ 1
    设备加自签证书,mitm proxy 判断 ua ,各大 app 基本都有特定的 ua 。
    shequ2046
        22
    shequ2046  
       2022-04-17 11:23:03 +08:00   ❤️ 1
    不就是访问某些国内业务会触发 GFW 探针的问题么,抓上几千个探针的包然后把特征写进 IDS 自动阻止就好了。
    gamexg
        23
    gamexg  
       2022-04-17 17:49:08 +08:00
    windows 、linux 、macos 下,配合本地软件,还能跟踪到请求是哪个软件发出的。
    但是这违背了路由器透明代理意图了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2240 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 15:29 · PVG 23:29 · LAX 08:29 · JFK 11:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.