【http服务】使用命令来查看和停止端口教程

Linux命令

【http服务】使用命令来查看和停止端口教程

2024-11-14 00:37


在Linux系统中,查看正在监听的端口并停止特定端口上的服务是日常系统管理中常见的操作。这不仅有助于维护系统安全,还能优化资源使用。以下将详细介绍如何使用命令行工具完成这些任务,包括所需的命令、每条命令的详细解释及实际应用示例。??

                                            




Linux系统中,查看正在监听的端口停止特定端口上的服务是日常系统管理中常见的操作。这不仅有助于维护系统安全,还能优化资源使用。以下将详细介绍如何使用命令行工具完成这些任务,包括所需的命令、每条命令的详细解释及实际应用示例。??


目录

  1. 前提准备
  2. 查看正在监听的端口
  3. 停止特定端口上的服务
  4. 验证服务是否已停止
  5. 工作流程总结
  6. 注意事项

前提准备

在进行端口管理操作之前,请确保具备以下条件:

  • root权限:许多网络和进程管理命令需要超级用户权限。
  • 基本命令行知识:熟悉Linux命令行操作,了解常用命令的基本用法。
  • 系统备份:在修改关键服务前,建议备份相关配置以防止误操作导致系统故障。

?️ 查看正在监听的端口

了解系统当前哪些端口处于监听状态,有助于识别正在运行的服务及其对应的端口号。

使用 netstat 命令

netstat 是一个功能强大的网络工具,用于显示网络连接、路由表、接口统计等信息。以下是使用 netstat 查看监听端口的步骤:

sudo netstat -tunlp

解释

  • sudo:以超级用户权限执行命令,确保可以查看所有进程的信息。
  • netstat:命令名称,用于显示网络相关信息。
  • -t:显示TCP连接。
  • -u:显示UDP连接。
  • -n:以数字形式显示地址和端口,避免DNS解析,提高显示速度。
  • -l:仅显示监听状态的端口。
  • -p:显示进程ID(PID)和程序名称。

示例输出

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
tcp6       0      0 :::80                   :::*                    LISTEN      5678/nginx
udp        0      0 0.0.0.0:123             0.0.0.0:*                           910/ntpd

说明

  • Proto:协议类型(TCP或UDP)。
  • Local Address:本地地址和端口。
  • Foreign Address:远程地址和端口(对于监听端口,通常为 *)。
  • State:连接状态(如 LISTEN表示监听中)。
  • PID/Program name:占用端口的进程ID及其名称。

使用 ss 命令

ss 是另一个用于查看网络连接的工具,比 netstat 更加高效。以下是使用 ss 查看监听端口的方法:

sudo ss -tunlp

解释

  • 参数与 netstat 类似,功能相同,但 ss 的执行速度更快,尤其在处理大量连接时。

示例输出

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:*                   users:(("sshd",pid=1234,fd=3))
tcp    LISTEN     0      100    :::80                           :::*                        users:(("nginx",pid=5678,fd=6))
udp    UNCONN     0      0      0.0.0.0:123                     0.0.0.0:*                   users:(("ntpd",pid=910,fd=4))

说明

  • 输出格式与 netstat 类似,但更为简洁,信息更易于解析。

停止特定端口上的服务

一旦确定了占用特定端口的服务和进程,可以通过以下步骤停止该服务。

查找占用端口的进程

假设要停止 8080 端口上的服务,首先需要找到占用该端口的进程ID(PID)。

sudo lsof -i:8080

解释

  • lsof:列出打开的文件,包括网络连接。
  • -i:8080:指定要查找的端口号为8080。

示例输出

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    23456 user   45u  IPv6  12345      0t0  TCP *:8080 (LISTEN)

说明

  • COMMAND:占用端口的命令或程序名称。
  • PID:进程ID。
  • USER:运行进程的用户。
  • FDTYPEDEVICESIZE/OFFNODENAME:其他详细信息。

使用 kill 命令终止进程

找到PID后,可以使用 kill 命令终止该进程。

sudo kill 23456

解释

  • label :
    • http
    • 端口
© 蓝易云.