简介
在一些实际的场景里,我们需要通过利用一些端口转发工具,比如系统自带的命令行工具或第三方小软件,来绕过网络访问限制触及目标系统。下文为大家总结了linux系统和windows系统端口转发常用的一些方法。
注:Linux实现端口转发需要内核支持,请确保内核参数net.ipv4.ipforward值为1。
一、采用iptables实现
iptables是一个功能丰富的Linux防火墙工具,可以用于配置网络地址转换(NAT)规则,从而实现端口转发。
参数说明
-t nat:指定转换表(nat 表);-A PREROUTING:指定要添加到哪个链中;-p tcp :指定协议为 TCP;--dport [目标端口]:指定需要映射到的目标端口;-j DNAT:指定使用目标地址转换;--to-destination [映射地址]:[映射端口]:指定目标地址和端口;-A POSTROUTING:指定要添加到哪个链中;-d [映射地址]:指定目标地址;--dport [映射端口]:指定目标端口;-j SNAT:指定使用源地址转换;--to-source [本地地址]:指定本地地址。
二、采用firewalld实现
firewalld是另一个功能强大的Linux防火墙工具,也可以用于配置网络地址转换(NAT)规则来实现端口转发。
参数说明
--zone=public:指定了这条规则的生效区域是public--add-forward-port:指定了添加一条端口转发规则,具体规则参数解释如下:port:需要转发的端口proto:协议类型,支持tcp、udp、icmptoport:目标端口toaddr:可选参数,转发到指定IP地址
三、采用ssh隧道实现
利用SSH为TCP链接提供的隧道功能实现端口转发。
更多高级用法可访问 https://www.lixueduan.com/posts/linux/07-ssh-tunnel/
四、采用nc实现
NC(也称作Netcat)是一个类Unix操作系统中的网络工具,有着强大的端口转发功能。
五、采用ncat实现
ncat是一个多功能网络工具,可用于端口转发。它是nc(netcat)的升级版本。
六、采用socat实现
socat是一款非常强大的网络工具,在实现端口映射时,可以用它来建立TCP连接,将本地端口映射到远程机器上的一个端口。下面是使用socat实现端口映射的步骤:
七、Windows系统使用netsh实现
在 Windows 操作系统中,可以使用 netsh 命令实现网络端口转发。以下是使用 netsh 实现端口转发的步骤:
0 留言