使用icmp隧道穿墙

2011年5月16日 | 分类: 翻墙相关 | 标签: ,

需要
一台vps,需要用root登录

安装服务端:
如果是debian/ubuntu可以执行
apt-get install ptunnel
如果是centos,执行
yum -y install gcc*
yum -y install libpcap*
wget http://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-0.71.tar.gz
tar -zxvf PingTunnel-0.71.tar.gz
cd PingTunnel
make
cp ptunnel /bin
安装squid
apt-get install squid 或 yum install squid

安装客户端:
linux下同安装服务端
windows有现成的exe下载,可见
http://vps.galway.nl/ptunnel/ptunnel.exe
另外windows上使用需要安装winpcap,可见
http://www.winpcap.org/

执行服务端:
执行squid
service squid start
执行ptunnel
ptunnel -m 65535 -udp
如果需要关闭vps后仍然运行可用
nohup ptunnel -m 65535 -udp &

执行客户端:
ptunnel -p 服务器地址 -lp 9999 -da localhost -dp 3128 -m 65535 -udp

然后把浏览器的代理设为http 127.0.0.1:9999即可翻墙
以上的命令都可以去掉-udp运行
如果去掉udp似乎会只用icmp做隧道

其他:
1.有被拦截数据包的风险,重要网站请用https
2.可以搜索squid开启ssl支持,我没有做过
3.与透明的tcp tunnel不同,icmp隧道可以绕过关键字拦截

(感谢lol网友的投递 )

本文原始地址http://igfw.net/archives/2697

  1. fish
    2011年5月16日23:05

    我检查了vps上的/etc/hosts,里面有这样一行:
    127.0.0.1 localhost.localdomain localhost
    是正常的吗?
    另外我用apt-get install ptunnel命令安装了ptunnel,如何启动ptunnel服务呢??我运行/etc/init.d/ptunnel start,提示说no such file.

    • lol
      2011年5月17日12:59

      是正常的
      ptunnel没有服务
      需要开机时启动把
      ptunnel -m 65535 -udp &
      手动添加到init.d里即可

      • 匿名
        2011年5月18日19:42

        lol:
        可我还是翻不了墙,你成功用此法翻墙了吗

        • lol
          2011年5月19日04:55

          我用它可以正常浏览youtube和twitter
          vps的系统是ubuntu 10.04 x86_64
          如果认为有必要可以留下联系方式 gtalk

          • 匿名
            2011年5月19日12:09

            hi.我的gtalk:luckypoem#gmail.com,请加我

  2. fish
    2011年5月16日22:21

    hi.
    我试过了,不过在访问任意网站时,会弹出一个下载对话框,而网站并未打开,不知为何?

    • lol
      2011年5月16日22:39

      检查squid的设置,必要时删掉/etc/squid/squid.conf并重装squid
      (我测试时用的是默认的配置文件)
      同时检查vps上的/etc/hosts中时否有
      127.0.0.1 localhost
      如果还是不可以,使用其他代理服务器软件试试