利用 ICMP 协议实现防火墙穿透
2017-07-24 本文已影响90人
王一航
环境 :
内网中的机器由于边界防火墙的限制 , 只允许 ICMP 协议出站
工具 :
ptunnel
后记 :
看了官方文档 , ptunnel 是可以支持密码认证的
但是这里存在一个问题 , 在通过认证之后 , 所有的流量还是以明文的形式传输
认证过程类似于 :
服务器根据时间戳生成一个随机字符串 , 向客户端发起质询
客户端根据密码以下面的公式生成结果 , 返回给服务器 , 如果匹配则通过验证 , 反之则断开
result = md5(challenge + md5(password))
步骤 :
1. 在 VPS (8.8.8.8) 上
ptunnel
2. 在内网 (192.168.1.1) 主机上 :
ptunnel -p 8.8.8.8 -da 127.0.0.1 -dp 22 -lp 8888
3. 在内网主机连接 127.0.0.1 的 8888 端口就通过隧道连接到了 vps 的 22 端口
4. 然后在 ICMP 隧道的内部就可以通过 ssh 的 socks 代理功能实现 socks 代理
参考资料 :
官网 : http://www.mit.edu/afs.new/sipb/user/golem/tmp/ptunnel-0.61.orig/web/