SIP 协议
程序 A: 127.0.0.1:5050 -> 程序 B: 127.0.0.1:5060
我想在中间加一个过滤层怎么办, 有什么可行的方案么?
程序 A 的代码没法改(二进制). B 有 N 个且各种语言实现(比较繁琐).
1
azh7138m 2019 年 8 月 28 日
自己写个 relay ?实现可以参考 https://github.com/docker/go-connections/blob/master/proxy/udp_proxy.go 并不会很麻烦
|
3
robot1 2019 年 8 月 28 日
linux 和 windows 都可以开发过滤驱动拦截数据包,窜改,查看 都可以支持了
|
4
LeeSeoung 2019 年 8 月 28 日
中间做个代理层,不是设置 是把本身 A 想连接 B 的端口 替换为 proxy,proxy 处理完再转发给 B
|
5
azh7138m 2019 年 8 月 28 日 A -> relay -> B
相当于 udp 反代,不是正向代理,不需要配置 A |
7
XiaoxiaoPu 2019 年 8 月 28 日
@YakuMioto linux 的话可以试试用 iptables 重定向下 www.cyberciti.biz/faq/linux-port-redirection-with-iptables/
|
9
MMMMMMMMMMMMMMMM 2019 年 8 月 28 日
也可以 debug 一下 A,hook 他的 socket send 地址,直接指向至你的自制中间人程序。
|
10
undefinedList 2019 年 8 月 28 日
win 下我之前写过 lsp 的,就是 winsock 支持的代理层吧。可以做到拦截指定端口的流量并做任何操作。
关键字:winsock lsp |
11
DoctorCat 2019 年 8 月 28 日
最简单的就是做反向代理,最复杂的就是写 Netfilter Hooks 或用动态链接库的 HOOK 大法
|