Linux如何查看端口转发 (linux 查看端口转发)

在服务器上部署应用程序时,通过端口转发来实现应用程序的访问是很常见的。端口转发能够把客户端的请求转发到指定的服务器上,从而实现不同主机之间的网络通信。在Linux系统中,我们可以通过多种方式来查看已经配置的端口转况。本文将介绍常见的几种方式,帮助读者更好地了解和使用Linux系统的端口转发功能。

方式一:使用netstat命令查看

netstat命令可以用来查看系统当前网络状态和连接情况,也可以用来查看端口转发的情况。具体操作如下:

1. 打开终端,输入以下命令:

“`

netstat -nalt

“`

2. 执行命令后,系统会显示当前已经打开的端口和相应的命令。

其中,“n”表示不对端口对应的服务名称进行反查,这样可以加快命令响应速度;“a”表示显示所有已经打开的端口;“l”表示显示正在监听的端口;“t”表示TCP协议的端口;

3. 如果需要查看UDP端口,可以将命令中的“t”替换成“u”,如下:

“`

netstat -nalu

“`

方式二:使用iptables命令查看

iptables是Linux系统中常用的防火墙软件,也可以用来设置端口转发规则。因此,我们可以通过iptables命令来查看当前系统中已经配置的端口转发规则。具体操作如下:

1. 打开终端,输入以下命令:

“`

iptables -t nat -L

“`

2. 执行命令后,系统会显示当前配置的端口转发规则。

其中,“-t nat”表示只查看NAT表中的规则;“-L”表示列出所有规则的详细情况。

3. 如果需要查看具体的某一条规则的详细信息,可以在命令中指定规则的编号,如下:

“`

iptables -t nat -L –line-numbers

“`

其中,“–line-numbers”表示同时显示规则的编号。

方式三:使用ss命令查看

ss命令也可以用来查看系统的网络状态和连接情况,常用于基于Linux内核实现的网络程序的监视和分析。和netstat命令类似,ss命令也可以用来查看端口转发的情况。具体操作如下:

1. 打开终端,输入以下命令:

“`

ss -tlnp

“`

2. 执行命令后,系统会显示当前已经打开的TCP端口和相应的命令。

其中,“-t”表示只显示TCP协议的端口;“-l”表示只显示正在监听的端口;“-n”表示不对端口对应的服务名称进行反查;“-p”表示同时显示进程的名称和PID。

3. 如果需要查看UDP端口,可以将命令中的“t”替换成“u”,如下:

“`

ss -ulnp

“`

综上所述,我们可以通过netstat、iptables和ss三种方法来查看Linux系统中的端口转况。每种方法都有其特定的用途和优点,读者可以根据自己的需要和实际情况选择使用。同时,需要注意的是,端口转发操作需要谨慎,防止产生安全风险和系统崩溃等问题。

相关问题拓展阅读:

linux 如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.2.1

Iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp -–缓罩dport 80 -j DNAT -–扰厅闹伏神to-destination 192.168.2.1:9000

iptables端口复用和端口转发

端口复用参考: Linux利用iptables做端口复用-Linux实验室 (wanyunshuju.com)

端口转发参考: 使用 iptables 进行端口转发 – 51nb – 博客园 (cnblogs.com)

一台虚拟机:192.168.2.2(私禅拦网ip),8080端口tomcat服务仔伏

一台虚拟机:192.168.3.6(公网ip),192.168.2.10(私网ip),80端口apache服务

1、虚拟机(192.168.3.6)开启转发功能

vim /etc/sysctl.conf

输入 net.ipv4.ip_forward=1

使用命令 sysctl -p 使配置生效

2、添加iptables规则实现端口转发

iptables -t nat -I PREROUTING -i ens36 -d 192.168.3.6 -p tcp –dportj DNAT –to-destination 192.168.2.2:8080

3、转发成功

1、设置iptables规则

iptables -t nat -I PREROUTING -i ens36 -s 192.168.3.3 -d 192.168.3.6 -p tcp –dport 80 -j REDIRECT –to-port 22

2、攻击机192.168.3.3使用XShell对192.168.3.6的80端口进行SSH连接

1、虚拟机(192.168.3.6)开启转发功能

vim /etc/sysctl.conf

输入 net.ipv4.ip_forward=1

使用命令 sysctl -p 使配置生效

2、设置iptables规则,当且仅当192.168.3.3访问时,192.168.3.6的80端口的http服务变成192.168.2.2的22端口(即iptables流量转发)

iptables -t nat -I PREROUTING -i ens36 -s 192.168.3.3 -d 192.168.3.6 -p tcp –dport 80 -j DNAT –to-destination 192.168.2.2:22

3、验证

1)当192.168.3.3进行访问时:

2)当其他ip机器访问时

利用TCP协议做遥控开关,这样攻击方在需要访问http服务的时念袭携候可以及时切换

1、创建端口复用链子

iptables -t nat -N MyChains

2、创建端口复用规则,访问192.168.3.6:80的流量转发至22端口

iptables -t nat -A MyChains -p tcp -j REDIRECT –to-port 22 (如果要转发到其他ip机器,注意需要开启转发功能)

3、设置开启开关,当接收到一个含有”nihao123coming”的TCP包,则将来源IP添加到MyChains的列表中

iptables -A INPUT -p tcp -m string –string “nihao123coming” –algo bm -m recent –set –name MyChains –rsource -j ACCEPT

4、设置关闭开关,如果接收到含有”nihao123leaving”的TCP包,则将来源IP从MyChains的列表中删除

iptables -A INPUT -p tcp -m string –string “nihao123leaving” –algo bm -m recent –name MyChains –remove -j ACCEPT

5、当发现SYN包的来源IP处于MyChains的列表中,将跳转到MyChains链进行处理,有效时间为3600秒

iptables -t nat -A PREROUTING -p tcp –dport 80 –syn -m recent –rcheck –secondsname MyChains –rsource -j MyChains

4、开启复用,开启后发送开启命令的机器到目标80端口的流量将被转发到目标20端口

验证:

5、关闭复用

验证:

关于linux 查看端口转发的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux如何查看端口转发 (linux 查看端口转发)