前言
首先,什么是反向代理?下图解释了它与正向代理的区别。
本质上,都是网络代理。正向代理更偏向于 client 端,而反向代理更偏向 server 端。(其实这个概念并不太重要)
阅读更多…我们手机在连Wi-Fi的时候,都有一个”代理服务器“的选项,而fiddler就是作为代理服务器,所以就能抓包了。而https呢,fiddler能作为中间人两边骗,所以还能抓https的包。
File => 勾选capture traffic
Tools => fiddler options => https => capture https traffic => decrypt https traffic => Ignore server certificate errors
由于对本机的数据包不感兴趣,所以把”from all processes” 改为 “from remote clients only”
切换到Connections选项卡,勾选allow remote computers to connect,注意端口号是8888
默认的证书在Android和iOS下可能无效,所以,需要下载certmaker插件,双击安装后,重启fiddler。我用默认的证书,HTTPS确实解密不出来。
主机为电脑IP,端口号为8888
在手机的浏览器进入http://电脑IP:8888,下载页面最下面的FiddlerRoot certificate,完成证书安装。
相关参考:
1. fiddler 手机 https 抓包, http://blog.csdn.net/wangjun5159/article/details/52202059
服务器为Linux系统,要架设代理服务器,若是http/SOCKS代理则需要安装软件;若是用自带的ssh来作为代理,就可以少装一个软件。
服务器与客户端均可用IPv6。
打开/etc/ssh/sshd_config,保证 ListenAddress 没有禁止IPv6地址,然后找到下面的 AddressFamily ,把它默认的 inet 改为 any。(inet即仅IPv4,inet6为仅IPv6,any为二者都监听)
重启SSH服务,运行
netstat -a
发现 tcp 和 tcp6 都有ssh的LISTEN,就对了。
我这里用的是putty,如果是其他系统或其他客户端,请自行百度相应教程。
在putty中,填好服务器的IPv6地址和端口后,找到 Connection→SSH→Tunnels,输入一个本地端口,然后选择 Dynamic ,点 Add ,就可以连接了。认证完成,代理就可以用了。接下来就是在浏览器中配置一个 127.0.0.1:本地端口 的SOCKS5代理,大功告成。
如果是自带 OpenSSH 客户端,如 Windows 10 或各 Linux 发行版,一条命令即可解决(先在远程服务器放好SSH公钥):
ssh -N -D 127.0.0.1:8888 root@remote_ip