• 通过 SSH 反向代理访问内网服务,并增强连接可靠性

    前言

    首先,什么是反向代理?下图解释了它与正向代理的区别。

    本质上,都是网络代理。正向代理更偏向于 client 端,而反向代理更偏向 server 端。(其实这个概念并不太重要)

    阅读更多…
  • 使用fiddler抓手机https数据包

    原理

    我们手机在连Wi-Fi的时候,都有一个”代理服务器“的选项,而fiddler就是作为代理服务器,所以就能抓包了。而https呢,fiddler能作为中间人两边骗,所以还能抓https的包。

    步骤

    1. 开启抓包

    File => 勾选capture traffic

    2. 设置抓https和解密https

    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

    3. 安装certmaker插件

    默认的证书在Android和iOS下可能无效,所以,需要下载certmaker插件,双击安装后,重启fiddler。我用默认的证书,HTTPS确实解密不出来。

    4. 在手机上设置Wi-Fi代理

    主机为电脑IP,端口号为8888

    5. 给手机安装假的根证书

    在手机的浏览器进入http://电脑IP:8888,下载页面最下面的FiddlerRoot certificate,完成证书安装。

     

    相关参考:
    1. fiddler 手机 https 抓包, http://blog.csdn.net/wangjun5159/article/details/52202059

  • 使用 IPv6 通过 SSH 代理上网

    服务器为Linux系统,要架设代理服务器,若是http/SOCKS代理则需要安装软件;若是用自带的ssh来作为代理,就可以少装一个软件。

    前提

    服务器与客户端均可用IPv6。

    SSH的配置

    打开/etc/ssh/sshd_config,保证 ListenAddress 没有禁止IPv6地址,然后找到下面的 AddressFamily ,把它默认的 inet 改为 any。(inet即仅IPv4,inet6为仅IPv6,any为二者都监听)

    重启SSH服务,运行

    netstat -a

    发现 tcp 和 tcp6 都有ssh的LISTEN,就对了。

    Windows客户端的连接

    我这里用的是putty,如果是其他系统或其他客户端,请自行百度相应教程。

    在putty中,填好服务器的IPv6地址和端口后,找到 Connection→SSH→Tunnels,输入一个本地端口,然后选择 Dynamic ,点 Add ,就可以连接了。认证完成,代理就可以用了。接下来就是在浏览器中配置一个 127.0.0.1:本地端口 的SOCKS5代理,大功告成。

    20160115162622

    OpenSSH 客户端的连接(Windows/Linux)

    如果是自带 OpenSSH 客户端,如 Windows 10 或各 Linux 发行版,一条命令即可解决(先在远程服务器放好SSH公钥):

    ssh -N -D 127.0.0.1:8888 root@remote_ip