我有一个 IoT 设备,它通过端口 443 通过 HTTPS 与远程服务器通信。
我想要拦截 HTTP/HTTPS 通信 - 例如使用 Charles 或 mitmproxy。
如果它是台式机或 Android 设备,我可以在证书存储中设置代理的 SSL 证书。
但是,这个设备实际上没有任何 HTTP 设置 - 所以我需要设置一个透明代理,对吗?但是,我如何让它信任 Charles/mitmproxy 提供的 SSL 证书?
谢谢,维克多
答案1
除非您具有某种程度的远程访问权限(例如 ssh 或 telnet),否则您将需要访问设备的磁盘。如果您很幸运,它是一张 SD 或 m.2 卡,具有通用的 *nix 文件系统。
在那里,您可以搜索它的证书存储 - 很可能会有易于识别的编码 x.509 证书标头(-----BEGIN CERTIFICATE-----
),然后添加(如果文件系统可读)或用(如果不是)您的 MitM 证书替换一个。