隧道实验
免责声明
本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.
应用层
WEB隧道
SSH隧道
相关文章
语法参考
ssh -L 8080:127.0.0.1:80 root@192.168.1.7 # 本地转发
ssh -R 8080:127.0.0.1:80 root@192.168.1.7 # 远程转发
ssh -D 1080 root@sshserver # 动态端口转发参数含义
本地端口转发
测试实验
将发送给本地的请求通过 ssh 隧道转发给目标端口,我们可以实现访问本地端口来访问目标端口的信息
此时访问转发机器的 8080 口,从而转发到目标机器的 22 端口
如下这个场景,我现在 host3 上起转发
这个时候 host3 访问自己的 127.0.0.1:8080 可以到 192.168.81.128
但是 host1 访问 192.168.141.129:8080 是不行的
需要 host2 监听 0.0.0.0
这样 host1 访问 192.168.141.129:8080 就可以到 192.168.81.128:22
远程端口转发
测试实验
将远程主机端口的请求通过 ssh 隧道转发给本地主机的端口
在 B 上
现在 A 访问 127.0.0.1:8080 就可以访问到 192.168.141.148:22 了
不过其他主机访问 A 的 8080 都是访问不了的,这种情况下 ssh 不支持 0.0.0.0 监听
动态端口转发
测试实验
本地和远程转发只能一对一端口转发,想访问别的端口还需要重新设定转发,所以有了动态转发
动态端口转发是只绑定一个本地端口,目标地址端口不固定,而是根据我们的请求决定。其实在这里 SSH 就是创建了个 SOCKS 代理服务
在 host1 上
这时候 host1 主机的 1080 就是个 socks 代理,浏览器设置代理或设置全局代理后,就可以访问 host3、host4 内网主机了。
网络层
ICMP
相关文章
icmptunnel
项目地址
测试实验
拓扑环境如下:
我这里就假设 vps 为 1.1.1.1 了
先配置环境,vps和内网机器上都安装上 icmptunnel,步骤是一样的
然后在2台机器上都禁用 icmp
vps 作为主机,监听
这时候会创建一个 tun0 ,给他分配一个内网地址
然后再内网机器上启动
同样的 tun0 ,给他分配一个内网地址
这个时候可以在 vps 上测试
速度会有点慢,如果没有出错就可以连接了