2023年12月2日发(作者:)

linux查看端口的方法

1. netstat命令

netstat(network statistics)命令是一个用于查看网络连接状态和统计信息的工具。在Linux系统中,可以使用netstat命令来查看当前开放的端口。具体命令如下:

```shell

netstat -tuln

```

该命令会列出当前系统中所有的TCP和UDP监听端口。其中,-t表示查看TCP端口,-u表示查看UDP端口,-l表示仅显示监听状态的端口,-n表示以数字形式显示端口号。执行该命令后,系统会输出类似如下的结果:

```shell

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address

State

tcp 0 0 0.0.0.0:22 0.0.0.0:*

LISTEN

tcp 0 0 127.0.0.1:631 0.0.0.0:*

LISTEN

tcp6 0 0 :::22 :::*

LISTEN udp 0 0 0.0.0.0:68 0.0.0.0:*

```

以上结果中,Local Address列显示的是监听的IP地址和端口号。

2. lsof命令

lsof(list open files)命令是一个用于查看系统打开的文件列表的工具。在Linux系统中,可以使用lsof命令来查看当前开放的端口。具体命令如下:

```shell

lsof -i :端口号

```

该命令会列出指定端口号的相关信息。执行该命令后,系统会输出类似如下的结果:

```shell

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

sshd 1234 root 3u IPv4 12345 0t0 TCP *:22

(LISTEN)

```

以上结果中,COMMAND列显示的是监听该端口的进程名,PID列显示的是该进程的进程ID。

3. ss命令

ss(socket statistics)命令是一个用于获取套接字统计信息的工具。在Linux系统中,可以使用ss命令来查看当前开放的端口。具体命令如下:

```shell

ss -tuln

```

该命令会列出当前系统中所有的TCP和UDP监听端口。其中,-t表示查看TCP端口,-u表示查看UDP端口,-l表示仅显示监听状态的端口,-n表示以数字形式显示端口号。执行该命令后,系统会输出类似如下的结果:

```shell

State Recv-Q Send-Q Local Address:Port

Peer Address:Port

LISTEN 0 128 *:22

*:*

LISTEN 0 5 127.0.0.1:631

*:*

LISTEN 0

128 :::22 :::*

UNCONN 0 0 *:68

*:*

```

以上结果中,Local Address:Port列显示的是监听的IP地址和端口号。

除了上述命令外,还可以使用iptables命令来查看防火墙配置,进一步了解开放的端口信息。具体命令如下:

```shell

iptables -L

```

该命令会列出当前系统的防火墙配置。其中,-L表示列出规则。执行该命令后,系统会输出类似如下的结果:

```shell

Chain INPUT (policy ACCEPT)

target prot opt source destination

ACCEPT tcp -- anywhere anywhere

tcp dpt:ssh

Chain FORWARD (policy ACCEPT)

target prot opt source destination

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

```

以上结果中,tcp dpt:ssh表示已开放的SSH端口。

通过上述方法,我们可以方便地在Linux系统下查看当前开放的端口信息。这对于系统管理员来说是非常有用的,可以帮助他们及时发现和处理异常连接,保障系统的安全性。同时,对于普通用户来说,了解系统中开放的端口也有助于他们更好地理解系统的网络配置。