端口映射和端口转发的区别以及其工具使用
端口映射
端口映射是NAT的一种,功能是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。
端口映射就是将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务。当用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。端口映射有动态和静态之分。
通俗来讲,端口映射是将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域网内部提供这种特定服务的主机;利用端口映射功能还可以将一台外网IP地址机器的多个端口映射到内网不同机器上的不同端口。 端口映射功能还可以完成一些特定代理功能,比如代理POP,SMTP,TELNET等协议。理论上可以提供65535(总端口数)-1024(保留端口数)=64511个端口的映射。
端口转发
端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内部)上的一个端口。
端口映射和端口转发的区别
端口转发应该是将发送到内网机器指定端口的数据丢给另外一个机器的指定端口(重点是个转字)。
端口映射是本机,就跟路由器一样,你要提供WEB服务,那么就得先映射80端口,外部用户通过80端口访问你的WEB服务(外部用户访问80端口,就会被翻译为内网ip的端口)。
端口转发是两台服务器,端口映射是一个服务器。
个人理解:端口转发相当于代理服务器,当访问代理服务器ip的端口时,代理服务器将请求转发给内网主机。因为转发程序是从内网连接到外网的,所以可以实现访问外网ip时即可以通过相应的端口访问对应的内网资源。
端口映射可用于本机某个端口被禁用时,将一个端口映射到另一个端口;也可用于将本机端口映射到公网ip的某个端口,此时在本机访问本机ip加本机端口就可以访问公网ip对应的资源;或者当想通过外网ip访问本机资源时,可以通过路由器的映射功能将公网ip端口映射到本机端口,此时就可以实现通过公网ip来访问本机资源。
端口映射和端口转发工具使用实例
端口转发工具及实例
windows使用lcx.exe工具实现端口转发,linux使用portmap工具进行端口转发,这里使用两个工具,将windows主机内网端口转发到linux主机公网端口。
解压portmap到linux文件夹中,然后在相应文件夹中运行命令:./portmap即可以得到portmap使用方法:
运行命令:
./portmap -m 2 -p1 6666 -h2 **********.cn -p2 7777 #监听6666端口,并将6666端口映射到7777端口
解压lcx.exe到system32文件夹,然后在cmd命令行中运行命令:lcx即可以得到lcx使用方法:
然后运行命令:
lcx -slave ********.cn 8888 127.0.0.1 8080 #将本机8080端口转发到公网服务器的8888端口
然后访问http://**********.cn:7777就可以访问到内网的资源
端口映射工具及实例
使用netsh工具:netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具。
netsh语法:
netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
运行命令:
netsh interface portproxy add v4tov4 listenport=3340 listenaddress=10.1.1.110 connectport=3389 connectaddress=10.1.1.110
即可将本机3389端口映射到3340