1. `netstat`:这是一个非常通用的网络工具,可以用来显示当前网络连接、路由表、接口统计信息等。

```bash netstat tunlp ```

`t` 表示TCP连接。 `u` 表示UDP连接。 `n` 表示显示数字地址和端口号,而不是尝试解析主机名和服务名。 `l` 表示显示监听状态的连接。 `p` 表示显示与每个连接相关联的进程ID和程序名称。

2. `ss`:这是`netstat`的替代品,提供了一些额外的功能。

```bash ss tunlp ```

参数与`netstat`相同。

3. `lsof`:这个命令可以列出打开的文件,包括网络连接。

```bash lsof i P n ```

`i` 表示选择网络文件。 `P` 表示不要解析端口。 `n` 表示不要解析主机名。

4. `nmap`:这是一个网络扫描工具,可以用来扫描目标主机上的开放端口。

```bash nmap p 165535 ```

`p` 表示指定要扫描的端口范围。 `` 是你要扫描的目标主机。

请注意,使用这些命令时,你可能需要root权限,特别是当你要查看与特定进程相关联的端口时。此外,根据你的系统配置,可能还需要安装额外的软件包。

Linux查看开启的端口详解

在Linux系统中,端口是网络通信的重要组成部分。了解哪些端口被开启,对于系统管理和网络安全至关重要。本文将详细介绍如何在Linux系统中查看开启的端口。

准备工作

在开始之前,请确保您已经登录到Linux系统,并且具有足够的权限来执行以下命令。通常,您需要以root用户身份或者使用sudo命令来执行。

使用netstat命令查看端口

`netstat` 是Linux系统中用于监控网络连接、路由表、接口统计信息以及伪装连接的实用工具。以下是如何使用`netstat`命令查看开启的端口:

1. 打开终端

首先,打开Linux系统的终端。您可以通过以下几种方式打开终端:

- 在桌面环境中选择“终端”或“终端模拟器”。

- 在搜索栏中输入“终端”并打开。

- 在系统菜单中选择“系统工具”下的“终端”。

2. 执行netstat命令

在终端中,输入以下命令并按回车键:

```bash

netstat -aptn

这条命令会显示所有开启的端口,包括TCP和UDP端口,以及监听这些端口的进程信息。

- `-a`:显示所有连接和监听端口。

- `-p`:显示与端口关联的进程信息。

- `-t`:显示TCP连接。

- `-u`:显示UDP连接。

- `-n`:不解析服务名称,直接显示端口号。

3. 解读输出结果

执行命令后,您会看到类似以下的内容:

Active Internet Connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0: LISTEN 1234 sshd

tcp 0 0 0.0.0.0:80 0.0.0.0: LISTEN 5678 httpd

这里列出了当前系统上开启的端口和对应的进程信息。例如,端口22是SSH服务,端口80是HTTP服务。

使用lsof命令查看端口

`lsof` 是一个用于列出打开文件描述符的工具,也可以用来查看哪些进程正在使用特定的端口。

1. 执行lsof命令

在终端中,输入以下命令并按回车键:

```bash

lsof -i:80

这条命令会显示所有监听在端口80上的进程信息。

2. 解读输出结果

执行命令后,您会看到类似以下的内容:

lsof: Linux 5.4.0-42-generic 46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

httpd 5678 www 6u IPv4 51084 0t0 :80 LISTEN

这里显示了进程ID为5678的httpd进程正在监听端口80。

通过使用`netstat`和`lsof`命令,您可以轻松地在Linux系统中查看开启的端口及其对应的进程信息。这对于系统管理和网络安全至关重要。如果您发现任何异常的端口或进程,请及时调查并采取措施以确保系统的安全。