通过ICMP echo(ping request)和reply(ping reply)实现隧道

适用于防火墙只允许ping出站流量的环境

支持多并发连接,性能优

支持身份验证

使用时需要root用户

端口转发

ICMP隧道 ptunnle-LMLPHP

主机2作为ptunnle服务器

ptunnel -x <password>

ICMP隧道 ptunnle-LMLPHP

主机1客户端连接服务器主机2

ptunnel -p <服务器ip> -lp <本地侦听端口> -da <目标ip> -dp <目标端口> -x <password>

ICMP隧道 ptunnle-LMLPHP

在主机1打开浏览器,输入ip和端口,就可以访问192.168.1.1了,就和在主机2上访问192.168.1.1的80端口一样

ICMP隧道 ptunnle-LMLPHP

通过ICMP隧道搭建网关

ICMP隧道 ptunnle-LMLPHP

主机2作为 ptunnle服务器端

ptunnel -x <password>

ICMP隧道 ptunnle-LMLPHP

因为ptunnel不支持网关,所以需要在ICMP隧道里面再嵌套一个ssh隧道,主机1的操作系统是kali,kali通常是在root权限下操作的,而ssh默认不能在root权限下使用,所以需要修改ssh的配置,使其能够在root权限下使用

ICMP隧道 ptunnle-LMLPHP

ICMP隧道 ptunnle-LMLPHP

ICMP隧道 ptunnle-LMLPHP

开启ssh服务

ICMP隧道 ptunnle-LMLPHP

主机1作为ptunnle的客户端

连接到主机2服务器端

ptunnle -p <服务端IP> -lp <本地侦听端口> -da <目标IP> -dp <服务器端口>

ICMP隧道 ptunnle-LMLPHP

主机1连接到ssh隧道服务器端主机2,使用ptunnle开启的端口2222嵌套ssh隧道,开启7000作为ssh隧道的侦听端口,并设置成网关

ICMP隧道 ptunnle-LMLPHP

在主机3打开浏览器设置代理

ICMP隧道 ptunnle-LMLPHP

然后就可以上网了,相当于在外网的主机1的22端口上网一样

ICMP隧道 ptunnle-LMLPHP

抓包可以看到都是ICMP协议的数据包

ICMP隧道 ptunnle-LMLPHP

05-11 11:33