Linux 命令助你管控端口

1. Linux 端口的基本概念

在计算机网络中,端口(Port)是指计算机上用于与其他计算机通信的逻辑地址。每个计算机通常都有多个端口,其中一些端口用于特定的服务或应用程序。

端口的范围是从0到65535,其中0到1023的端口被称为“知名端口”,用于一些常见的服务,如Web(端口80)、SSH(端口22)等。1024到49151之间的端口是“注册端口”,用于用户注册的应用程序。49151到65535之间的端口是“动态端口”,用于临时连接。

2. 查看端口状态

2.1 监听端口

要查看Linux系统上的所有监听端口,可以使用netstat命令:

netstat -tln

该命令将显示所有正在监听TCP端口的进程和端口号。

要查看某个特定端口是否在监听状态,可以使用lsof命令:

lsof -i :端口号

该命令将显示该端口的进程信息。

2.2 ESTABLISHED 状态的端口

在Linux系统上,可以使用netstat命令来查看当前处于ESTABLISHED状态(已建立连接)的端口:

netstat -nt

该命令将显示所有处于ESTABLISHED状态的TCP连接。

3. 打开和关闭端口

3.1 打开端口

要打开一个端口,可以使用iptables命令来设置防火墙规则:

iptables -A INPUT -p 协议 --dport 端口号 -j ACCEPT

其中,-A INPUT 表示将规则添加到输入链中,-p 协议 指定要使用的协议,--dport 端口号 指定要打开的端口,-j ACCEPT 表示允许通过该端口的连接。

3.2 关闭端口

要关闭一个端口,可以使用iptables命令来删除防火墙规则:

iptables -D INPUT -p 协议 --dport 端口号 -j ACCEPT

该命令将从输入链中删除指定的规则,从而关闭该端口。

4. 端口转发

4.1 本地端口转发

本地端口转发是指将来自本地计算机的连接转发到另一个 IP 地址和端口。

要实现本地端口转发,可以使用iptables命令:

iptables -t nat -A PREROUTING -p tcp --dport 本地端口号 -j DNAT --to-destination 目标IP:目标端口号

其中,-t nat 表示操作的是 NAT 表,-A PREROUTING 表示添加转发规则到 PREROUTING 链,-p tcp 表示使用 TCP 协议,--dport 本地端口号 指定要转发的本地端口,-j DNAT 表示目标处理方式为目标网络地址转换,--to-destination 目标IP:目标端口号 指定转发的目标 IP 地址和端口。

4.2 远程端口转发

远程端口转发是指将来自远程计算机的连接转发到本地计算机。

要实现远程端口转发,可以使用ssh命令:

ssh -R 远程端口号:目标IP:目标端口号 用户名@目标IP

其中,-R 远程端口号:目标IP:目标端口号 表示将远程计算机上的远程端口转发到目标 IP 和目标端口号,用户名@目标IP 表示远程计算机的用户名和 IP。

5. 总结

通过本文中介绍的 Linux 命令,我们可以方便地查看和管理端口。

使用netstat命令可以查看端口的状态,使用lsof命令可以查看特定端口的进程信息。

要打开或关闭端口,可以使用iptables命令来设置防火墙规则。

如果需要进行端口转发,可以使用iptables命令实现本地端口转发,使用ssh命令实现远程端口转发。

理解和掌握这些命令将有助于更好地管理和保护计算机上的端口。

操作系统标签