个人见解,可能有误,大神请谅解。
用Fiddler这个软件就可以做到。
检测http不难,想办法看一下IP包里的http明文就好了;所以你打开Fiddle,它就能够开始监视HTTP流量了;
检测https, 相对麻烦些。要把Fiddler设置成本地代理,代理的端口默认是8866。
一方面,我发现浏览器会直接走到Fiddler代理,浏览器会发现https的网站证书都是Fiddler自签的。我不理解。总之呢,你从浏览器访问https网站都会被Fiddle接住。Fiddler知道自己的server证书, 所以就很容易解密你发过来的数据了,解开之后也都是http.
另一方面,Fiddler并没有收到脚本或者程序发出的https请求。原因是脚本默认不会走Fiddler的代理,它都不知道代理在哪。一种解决办法就是export环境变量,
http_proxy=127.0.0.1:8866
https_proxy=127.0.0.1:8866
然后,再运行会发出https请求的程序,对应的流量就会被Fiddler监视到。至少, Python程序是可以的。