1、端口映射
是指将一台主机的内网(LAN)IP 地址映射成一个公网(WAN)IP 地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域内部提供这种特定服务的主机;利用端口映射功能还可以将一台外网IP 地址机器的多个端口映射到内网不同机器上的不同端口。
2、端口映射与端口转发
端口映射与端口转发,用于发布防火墙内部的服务器或者防火墙内部的客户端计算机,有的路由器也有端口映射与端口转发功能。
端口映射与端口转发实现的功能类似,但又不完全一样。
端口映射是将外网的一个端口完全映射给内网一个地址的指定端口,而端口转发是将发往外网的一个端口的通信完全转发给内网一个地址的指定端口。端口映射可以实现外网到内网和内网到外网双向的通信,而转发只能实现外网到内网的单向通信。
2.1、netsh端口映射
netsh是windwos系统自带的一个命令行工具,这个工具可以内置端口转发功能。所以不用免杀,是系统自带的。
当前的模拟场景是:
现在想要kali能访问B服务器上的80端口上的 内容,因为不在同一个网段,kali不能直接访问B,而且B服务器不能直接出网。
windows自带的端口转发netsh interface portproxy可以通过这个小工具在A服务器(双网卡:192.168.0.152/10.10.10.130)设置端口转发。
kali:192.168.0.135
A:192.168.0.152/10.10.10.130
B:10.10.10.128
设置转发
netsh interface portproxy add v4tov4 listenport=设置的端口 connectaddress=B 服务器(ip) connectport=要访问的B服务器指定端口
如果我们想通过攻击机访问A服务器(192.168.0.152)的7777端口即可获取B服务器上面的80端口内容,那么命令就是:
netsh interface portproxy add v4tov4 listenport=7777 connectaddress=10.10.10.128 connectport=80
查看端口转发是否成功,用命令:
netsh interface portproxy show all
这里可以看到,*代表所有,也就是说任何ip访问本机的7777端口都会访问10.10.10.128的80端口。
所以kali攻击机直接访问A(192.168.0.152)的7777就可以访问到内网主机B的80端口对应服务了。
直接在主机A上面访问本地的7777也是一样的。
最后删除当前端口转发规则的命令是:
netsh interface portproxy reset
也可以单独删除指定的端口:
netsh interface portproxy delete v4tov4 listenport=7777