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

大佬们, 请教一个 UDP 数据拦截过滤问题

  •  
  •   YakuMioto · 85 天前 · 1029 次点击
    这是一个创建于 85 天前的主题,其中的信息可能已经有所发展或是发生改变。

    SIP 协议

    程序 A: 127.0.0.1:5050 -> 程序 B: 127.0.0.1:5060

    我想在中间加一个过滤层怎么办, 有什么可行的方案么?

    程序 A 的代码没法改(二进制). B 有 N 个且各种语言实现(比较繁琐).

    12 回复  |  直到 2019-09-16 18:18:52 +08:00
        1
    azh7138m   85 天前
    自己写个 relay ?实现可以参考 https://github.com/docker/go-connections/blob/master/proxy/udp_proxy.go 并不会很麻烦
        2
    YakuMioto   85 天前
    @azh7138m 但是 程序 A 和 B 并不支持设置 proxy ..
        3
    robot1   85 天前
    linux 和 windows 都可以开发过滤驱动拦截数据包,窜改,查看 都可以支持了
        4
    LeeSeoung   85 天前
    中间做个代理层,不是设置 是把本身 A 想连接 B 的端口 替换为 proxy,proxy 处理完再转发给 B
        5
    azh7138m   85 天前   ♥ 2
    A -> relay -> B
    相当于 udp 反代,不是正向代理,不需要配置 A
        6
    YakuMioto   85 天前
    @robot1 用什么形式实现呢? iptable 可行么?
        7
    XiaoxiaoPu   85 天前
    @YakuMioto linux 的话可以试试用 iptables 重定向下 www.cyberciti.biz/faq/linux-port-redirection-with-iptables/
        8
    sujin190   85 天前
    @YakuMioto #2 不支持 proxy,总不能 ip 端口都不能设置把,设置成 relay 地址端口,有这台机器来转发不就可以过滤了
        9
    MMMMMMMMMMMMMMMM   85 天前
    也可以 debug 一下 A,hook 他的 socket send 地址,直接指向至你的自制中间人程序。
        10
    undefinedList   85 天前
    win 下我之前写过 lsp 的,就是 winsock 支持的代理层吧。可以做到拦截指定端口的流量并做任何操作。
    关键字:winsock lsp
        11
    DoctorCat   85 天前
    最简单的就是做反向代理,最复杂的就是写 Netfilter Hooks 或用动态链接库的 HOOK 大法
        12
    YakuMioto   66 天前 via Android
    @azh7138m 感谢啊,反代可行~
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4359 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 55ms · UTC 02:11 · PVG 10:11 · LAX 18:11 · JFK 21:11
    ♥ Do have faith in what you're doing.