在192.168.1.206 上执行
ssh -fN -D 0.0.0.0:8888 root@192.168.1.207
将报文转发到207
在207 上设置ssh 允许动态转发
vim /etc/ssh/sshd_config
确保以下行没有注释(没有 "#" 符号),或者将其添加进去:
AllowTcpForwarding yes
1、浏览器设置socks代理
2、浏览器访问192.168.1.4:8000
3、207 抓包
报文交互正常。
目前udp tcp 动态转发都支持! 那么icmp呢? 目前本产品对于icmp报文是直接获取tun接口ip层数据封隧道转发。。。。
ICMP隧道
(1)原理:
由于ICMP报文自身可以携带数据,而且ICMP报文是由系统内核处理的,不占用任何端口,因此具有很高的隐蔽性
通常ICMP隧道技术采用ICMP的ICMP_ECHO和ICMP_ECHOREPLY两种报文,把数据隐藏在ICMP数据包包头的选项域中,利用ping命令建立隐蔽通道。简单说就是,改变操作系统默认填充的Data,替换成我们自己的数据。
所以现在的ICMP隧道技术,基本采用修改ICMPECHO和ICMPECHOREPLY两种报文,把消息隐藏在数据中,利用ping或 tracert 命令建立隐蔽通道。
优缺点
优点:
防火墙对ICMP_ECHO数据包是放行的,并且内部主机不会检查ICMP数据包所携带的数据内容,隐蔽性高
缺点:
ICMP隐蔽传输是无连接的,传输不是很稳定,而且隐蔽通道的带宽很低 利用隧道传输时,需要接触更低层次的协议 ,这就需要高级用户权限。
方法1:使用icmpsh搭建
1.首先使用git下载:https://github.com/jamesbarlow/icmptunnel
2、http://freshmeat.sourceforge.net/projects/ptunnel/ 隧道搭建