通过上节我们了解了SSH隧道的优点,但是无论是现实中还是网络中,隧道都是有入口和出口的,本节就以Putty隧道为例,详细介绍Putty建立隧道的方法.
模拟案例一:
利用Putty建立正向隧道,隧道入口为9000端口,出口为2012端口,隧道建立成功之后,输入:Welcome to zzbaike.com.并查看结果!
1.打开Putty.exe→SSH→Tunnel
这里我们主要看"Source port","Destination"和下面的"local"、"Remote".
Source port:隧道的入口,当下面选择为Local时,入口是在本机上的,称为"正向隧道";当下面选择为Remote时,入口是SSH主机上,成为"反向隧道".
Destination:当选择为"Local"时,针对远程主机而言,当选择为"Remote"时,针对本机而言.
截图中"Source port":9000也就是说隧道入口是本地机器的9000端口,而"Destination":127.0.0.1:2012说明隧道出口为127.0.0.1:2012端口
备注:说到这里有些朋友已经有点晕了,呵呵,其实我们上面已经说了,当下面选择为Local时,属于正向隧道,Destination针对的是远程主机,这里我们需要在远程主机利用NC监听2012端口,隧道的出口就开启了.全部填写完毕之后,点击"ADD"添加,然后点击"Apply"使其生效,不然隧道不会开启的.切记!
1.ssh主机上输入:nc -l 2012 (监听本地2012端口)
2.本机输入:nc -nvv 127.0.0.1 9000 (通过本地9000端口进入隧道)
3.隧道建立成功
通过上图可以看到,在本机或远程主机上输入的信息,双方都可以同步,说明隧道建立成功!
模拟案例二:
利用putty建立反向隧道,隧道入口为8000端口,出口为2020端口,隧道建立成功后,输入:Thank you.查看结果!
1.打开Putty.exe→SSH→Tunnel
2.本机输入:NC -l -p 2020 (监听2020端口)
3.ssh主机上输入:NC -nvv 127.0.0.1 8000 (通过本地8000端口进入隧道)
4.隧道建立成功.
注意:正向隧道与反向隧道的区别
正向隧道:一般用于内网访问公网.
反向隧道:一般用于公网访问内网,如果不建立反向隧道的话,防火墙会进行规则匹配,不符合的规则会全部拒绝,所以这里我们可以使用反向隧道连接,来进行穿墙表演,一般的远控木马就是利用反向连接,来进行远程控制的.