使用您选择的HTTP拦截代理监控任意TCP流量
socksmon是一个基于Twisted的SOCKSv4服务器,通过HTTP代理隧道传输传入的TCP流量。socksmon通过启动一个内部web服务器(端口2357)来实现这一点,将流量发送到中间人代理进行编辑,然后转发到目的地。
socksmon初步支持SSL拦截,这意味着可以使用您选择的拦截代理分析任意SSL加密的TCP流量。
首先,您需要创建一个PEM格式的证书以便与socksmon一起使用,并将其放在/tmp/server.pem下。如果您使用BURP,请导出私钥和证书,然后将它们连接在一起。(例如:cat server.crt server.key > /tmp/server.pem)
其次,在本地主机的端口8080上启动您的拦截代理。
第三,将SOCKSv4流量发送到yourip:9050。请确保使用SOCKSv4,由于Twisted SOCKS服务器的实现,SOCKSv5将无法工作。对于重定向流量,我推荐Windows下的Proxifier1和Linux下的Redsocks2或Proxychains3。
欢迎提交补丁/PR。
目前不会为特定端点生成证书,例如,指定的密钥直接用于所有站点。这对于检查证书中通用名称或撤销列表的客户端来说是有问题的。
应为所有流量支持上游代理。HTTP应获得特殊处理,因此不允许CONNECT的代理也可以使用。
应使用命令行选项来设置代理端口、证书和web服务器端口。
实现一个模块化框架,允许处理TCP流量。应易于为不同的协议和格式实现解码器和重新编码器(例如,将Java对象反序列化为XML)。