Linux中如何查看开放的端口?

发布日期:2025-07-26 16:35:15 分类:bet28365365官网 浏览:6453

数据与人文

聚焦技术和人文,分享干货,共同成长。

Linux中如何查看开放的端口?

在 Linux 系统中,有多种方法可以查看开放的端口,下面将详细介绍一些常用的命令及其使用方法。

1. 使用 netstat 命令

netstat 是一个非常经典的网络工具,可用于显示网络连接、路由表和网络接口等信息。

查看所有开放的 TCP 和 UDP 端口

netstat -tuln

-t:显示 TCP 连接。

-u:显示 UDP 连接。

-l:只显示监听中的套接字(即开放的端口)。

-n:以数字形式显示地址和端口号,而不进行域名和服务名解析,这样可以加快显示速度。

示例输出及解释

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

udp 0 0 0.0.0.0:68 0.0.0.0:*

这里 Proto 列显示协议类型(TCP 或 UDP),Local Address 列显示本地监听的地址和端口号,例如 0.0.0.0:22 表示在所有网络接口上监听 TCP 端口 22(通常是 SSH 服务)。

2. 使用 ss 命令

ss 是 netstat 的替代品,它比 netstat 更快且功能更强大。

查看所有开放的 TCP 和 UDP 端口

ss -tuln

参数含义与 netstat 中的 -tuln 相同。

示例输出及解释

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port

tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*

udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:*

输出信息和 netstat 类似,同样能清晰看到监听的端口和协议。

3. 使用 lsof 命令

lsof(list open files)可以列出当前系统打开的所有文件,网络套接字也被视为文件,因此可以用它来查看开放的端口。

查看所有开放的 TCP 端口

lsof -iTCP -sTCP:LISTEN -P -n

-iTCP:只显示 TCP 相关的网络连接。

-sTCP:LISTEN:只显示处于监听状态的 TCP 连接。

-P:不将端口号转换为服务名,以数字形式显示。

-n:不进行域名解析,以 IP 地址形式显示。

示例输出及解释

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

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

COMMAND 列显示使用该端口的进程名,PID 是进程 ID,NAME 列显示监听的地址和端口。

4. 使用 nmap 命令

nmap(Network Mapper)是一个强大的网络扫描工具,可用于扫描目标主机开放的端口。

扫描本地主机开放的端口

nmap 127.0.0.1

这里 127.0.0.1 是本地回环地址,用于扫描本地主机。

示例输出及解释

Starting Nmap 7.80 ( https://nmap.org ) at 2024-10-01 12:00 UTC

Nmap scan report for localhost (127.0.0.1)

Host is up (0.0000050s latency).

Not shown: 999 closed ports

PORT STATE SERVICE

22/tcp open ssh

输出会显示扫描到的开放端口及其对应的服务名。

posted on

2025-02-13 21:33

数据与人文

阅读(2169)

评论(0)

收藏

举报

刷新页面返回顶部