【http服务】使用命令来查看和停止端口教程
Linux命令
【http服务】使用命令来查看和停止端口教程
2024-11-14 00:37
在Linux系统中,查看正在监听的端口并停止特定端口上的服务是日常系统管理中常见的操作。这不仅有助于维护系统安全,还能优化资源使用。以下将详细介绍如何使用命令行工具完成这些任务,包括所需的命令、每条命令的详细解释及实际应用示例。??
在Linux系统中,查看正在监听的端口并停止特定端口上的服务是日常系统管理中常见的操作。这不仅有助于维护系统安全,还能优化资源使用。以下将详细介绍如何使用命令行工具完成这些任务,包括所需的命令、每条命令的详细解释及实际应用示例。??
? 目录
? 前提准备
在进行端口管理操作之前,请确保具备以下条件:
- 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:运行进程的用户。
- FD、TYPE、DEVICE、SIZE/OFF、NODE、NAME:其他详细信息。
使用 kill
命令终止进程
找到PID后,可以使用 kill
命令终止该进程。
sudo kill 23456
解释:
標簽:
- http
- 端口