mitmproxy - 如何让 mitmproxy 监听多个网卡?
问题描述
我有 mitmproxy 以反向模式运行;我没有指定监听端口:
sudo mitmpdump -vv --mode reverse:http://target.server.example.com:80/ --set block_global=false -R ":~q ~m GET:^.*$:/test.html"
我得到“代理服务器正在侦听 http://*:8080”,它适用于端口 80、443 或 8080 上的连接。
我向服务器添加了两个新的 NIC;我没有收到发送到任一新 NIC 的流量的响应。有什么我需要调整的吗?
根据流量到达的 NIC/地址,流量可以代理到不同的目的地吗?
解决方案
回顾我的命令历史记录显示 - 4 个月前 - 我在第一个接口上配置了透明代理。例如
sudo iptables -t nat -A PREROUTING -i ens160 -p tcp --dport 80 -j REDIRECT --to-port 8080
重新阅读 [ https://docs.mitmproxy.org/stable/howto-transparent/]提供了一些背景知识。
我使用目标匹配来确定 Mitm 监听的端口,例如:
sudo iptables -t nat -A PREROUTING -i ens192 -p tcp -m tcp -d x.88.164.10 --dport 443 -j REDIRECT --to-ports 8082
为两个端口添加了具有两个地址的第二个 NIC,sudo iptables -t nat -L
如下所示:
链 PREROUTING (policy ACCEPT) target prot opt source destination REDIRECT tcp -- 任何地方 this.host tcp dpt:http redir 端口 8080 REDIRECT tcp -- 任何地方 this.host tcp dpt:https redir 端口 8080 REDIRECT tcp -- 任何地方 this.host tcp dpt:http redir ports 8081 REDIRECT tcp -- 任何地方 this.host tcp dpt:https redir 端口 8081 REDIRECT tcp -- 任何地方 this.host tcp dpt:http redir 端口 8082 REDIRECT tcp -- 任何地方 this.host tcp dpt:https redir 端口8082
现在可以在任一接口上接收请求,包括 IP 别名。
sudo iptables-save 永久更改。
我几乎觉得我明白现在发生了什么……
推荐阅读
- javascript - 如何给跳跃系统增加限制?
- http - 已修改 HTTP 302 重定向
- php - 我可以强制 PHP 7.1 语法在返回类型中要求类型提示吗?
- php - 查询后如何将所选数据保留在选择组合中?
- c# - WPF 从后台工作人员更新状态栏文本
- java - 使用Apache POI与另一个excel比较后如何更改源excel表的单元格颜色
- python - Python 脚本无法运行但未返回错误
- r - 当其中一列是列表时合并,生成一个新列,即列表
- laravel - 关于使用 Laravel 和 Vue.js 的两个框架的 API 的问题
- python - 共享 virtualenv,一些库可见,一些不可见