如何检查端口占用:netstat和lsof指令

打印 上一主题 下一主题

主题 691|帖子 691|积分 2073

在网络故障排查和体系管理中,检查端口占用情况是一项常见且重要的使命。本文将详细介绍如何利用 netstat 和 lsof 这两个强大的工具来检查端口占用和相关服务。
1. 利用 netstat 检察端口占用

netstat (network statistics) 是一个用于显示网络连接、路由表、接口统计等信息的下令行工具。
1.1 最常用的 netstat 下令

  1. netstat -an
复制代码
这是最常用的形式,让我们解析其参数:
-a: 显示全部连接和监听端口
-n: 以数字形式显示所在和端口号,而不是实行解析主机名、服务名或端口名
这个下令会显示全部的网络连接,包括 TCP、UDP,以及处于 LISTEN 状态的端口。
1.2 检察占用端口的历程

如果你想知道哪些历程占用了端口,可以添加 -p 参数:
sudo netstat -an
p
   留意:利用 -p 通常需要 root 权限。
  1.3 netstat 输出解析
运行 netstat -an
p 后,你会看到雷同以下的输出:


  1. Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
  2. tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd
  3. tcp6       0      0 :::80                   :::*                    LISTEN      5678/nginx
  4. udp        0      0 0.0.0.0:68              0.0.0.0:*                           910/dhclient
复制代码


  • Proto: 协议(TCP 或 UDP)
  • Recv-Q 和 Send-Q: 吸取队列和发送队列中的字节数
  • Local Address: 当地所在和端口号
  • Foreign Address: 远程所在和端口号
  • State: 连接状态(如 LISTEN, ESTABLISHED 等)
  • PID/Program name: 利用该连接的历程ID和历程名称
1.4 其他有用的 netstat 参数

-t: 仅显示 TCP 连接
-u: 仅显示 UDP 连接
-l: 只显示监听状态(LISTEN)的连接
这些参数可以组合利用,例如:
1.5 检察特定端口

通常,我们的netstat指令要结合grep,比如我们只想检察特定端口(例如 8886):
  1. netstat -an
  2. | grep 8886
复制代码

可以看到-an指令基本上只能看到用什么协议,只是知道这个端口被占用了,让我们来利用-anp
  1. netstat -an
  2. p | grep 8886
复制代码

   如果你是平凡用户的话,你可以发现,你仍然是看不见的
  平凡用户需要提权
  1. sudo netstat -an
  2. p | grep 8886
复制代码
然后我可以看到历程号,以及是docker的服务占用了ipv4/ipv6协议下的8886端口

2. 利用 lsof 检察端口占用

lsof (List Open Files) 是另一个强大的工具,不仅可以检察端口占用,还可以检察历程打开的文件。
2.1 基本用法

检察全部网络连接:
  1. sudo lsof -i
复制代码
检察特定端口(如 8080):
  1. sudo lsof -i
  2. :8080
复制代码
2.2 lsof 输出解析

运行 sudo lsof -i
后,你会看到雷同以下的输出:
  1. COMMAND     PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
  2. sshd       1234   root    3u  IPv4    12345      0t0  TCP *:22 (LISTEN)
  3. nginx      5678   www     6u  IPv6    23456      0t0  TCP *:80 (LISTEN)
复制代码


  • COMMAND: 历程名称
  • PID: 历程 ID
  • USER: 运行该历程的用户
  • FD: 文件形貌符
  • TYPE: 文件类型
  • DEVICE: 设备号
  • SIZE/OFF: 文件大小或偏移量
  • NODE: 节点号
  • NAME: 文件名,对于网络连接,显示协议、当地所在、远程所在、状态
3. netstat 和 lsof 的比力

netstat 上风:

更直观的网络连接视图
在大多数体系中默认安装
参数组合机动,适合快速检查
lsof 上风:

提供更详细的历程信息
可以同时检察文件体系和网络利用情况
在处理惩罚大量连接时通常比 netstat 更快
看自己习惯哪个吧

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦应逍遥

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表