论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
主机系统
›
linux
›
如何检查端口占用:netstat和lsof指令
如何检查端口占用:netstat和lsof指令
梦应逍遥
金牌会员
|
2024-10-11 12:38:43
|
显示全部楼层
|
阅读模式
楼主
主题
691
|
帖子
691
|
积分
2073
在网络故障排查和体系管理中,检查端口占用情况是一项常见且重要的使命。本文将详细介绍如何利用 netstat 和 lsof 这两个强大的工具来检查端口占用和相关服务。
1. 利用 netstat 检察端口占用
netstat (network statistics) 是一个用于显示网络连接、路由表、接口统计等信息的下令行工具。
1.1 最常用的 netstat 下令
netstat -an
复制代码
这是最常用的形式,让我们解析其参数:
-a: 显示全部连接和监听端口
-n: 以数字形式显示所在和端口号,而不是实行解析主机名、服务名或端口名
这个下令会显示全部的网络连接,包括 TCP、UDP,以及处于 LISTEN 状态的端口。
1.2 检察占用端口的历程
如果你想知道哪些历程占用了端口,可以添加 -p 参数:
sudo netstat -an
p
留意:利用 -p 通常需要 root 权限。
1.3 netstat 输出解析
运行 netstat -an
p 后,你会看到雷同以下的输出:
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: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):
netstat -an
| grep 8886
复制代码
可以看到-an指令基本上只能看到用什么协议,只是知道这个端口被占用了,让我们来利用-anp
netstat -an
p | grep 8886
复制代码
如果你是平凡用户的话,你可以发现,你仍然是看不见的
平凡用户需要提权
sudo netstat -an
p | grep 8886
复制代码
然后我可以看到历程号,以及是docker的服务占用了ipv4/ipv6协议下的8886端口
2. 利用 lsof 检察端口占用
lsof (List Open Files) 是另一个强大的工具,不仅可以检察端口占用,还可以检察历程打开的文件。
2.1 基本用法
检察全部网络连接:
sudo lsof -i
复制代码
检察特定端口(如 8080):
sudo lsof -i
:8080
复制代码
2.2 lsof 输出解析
运行 sudo lsof -i
后,你会看到雷同以下的输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
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 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
梦应逍遥
金牌会员
这个人很懒什么都没写!
楼主热帖
SSH远程登录与控制
【嵌入式】嵌入式系统稳定性建立:linu ...
云计算稽核 - 分析电子银行需求采用微 ...
HarmonyOS应用开辟高级认证考试答案三- ...
如何将github copilot当gpt4用
iOS状态栏自界说神器——StatusMagic安 ...
防患于未然,智能监控新视角:EasyCVR ...
从零手写实现 nginx-25-directive map ...
Percona Toolkit 神器全攻略(复制类) ...
【Redis】Redis长期化之AOF详解(Redis ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
云原生
移动端开发
物联网
开源技术
.Net
快速回复
返回顶部
返回列表