如何查看进程网络连接 lsof -i网络诊断技巧
发布时间 - 2025-07-10 00:00:00 点击率:次lsof -i 是用于查看进程网络连接状态的实用命令。1. 基本运行 lsof -i 可列出所有网络
连接,显示进程名、pid、用户、协议、本地与远程地址等信息;2. 可通过 lsof -i tcp、lsof -i udp 查看特定协议连接,或使用 lsof -i :80、lsof -i :80-443 查看指定端口及范围的连接;3. 结合 pid 使用 lsof -i -p 1234 可查具体进程的连接情况,或用 lsof -i | grep nginx 过滤进程名;4. 通过分析连接状态如 listen、established、time_wait 等可识别潜在问题,结合其他工具进一步排查性能瓶颈或异常通信。
当你想查看某个进程的网络连接状态,或者排查服务器上有哪些程序在联网通信时,lsof -i 是一个非常实用的命令。它能帮你快速定位到哪些进程正在使用网络、连接了哪些IP和端口,甚至还能看到是TCP还是UDP协议。
1. lsof -i 基本用法
运行 lsof -i 可以列出所有与网络相关的打开文件(Linux/Unix系统中,网络连接也被视为一种“打开的文件”)。输出内容通常包括进程名、PID、用户、协议类型、本地地址和远程地址等信息。
例如:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 1234 root 6u IPv4 12345 0t0 TCP *:http (LISTEN) curl 5678 user 3u IPv6 67890 0t0 TCP example.com:443 ESTABLISHED
这表示 nginx 正在监听 80 端口,而 curl 正在访问 example.com 的 443 端口。
2. 查看特定端口或协议的连接
如果你只想关注某个特定端口或协议(如 TCP 或 UDP),可以在 -i 后加参数:
-
查看 TCP 连接:
lsof -i TCP
-
查看 UDP 连接:
lsof -i UDP
-
查看指定端口的连接(比如 80 端口):
lsof -i :80
-
查看某个范围的端口(比如 80 到 443):
lsof -i :80-443
这些操作特别适合在排查服务是否正常监听端口,或者发现异常连接时使用。
3. 结合 PID 查看具体进程的网络连接
如果你已经知道某个进程的 PID,可以通过下面命令只看它的网络连接情况:
lsof -i -p 1234
这样就能快速了解该进程都建立了哪些网络连接,有没有异常的对外通信。
有时候你可能不知道 PID,但知道进程名,比如你想查所有 nginx 的连接:
lsof -i | grep nginx
这样可以过滤出你要的信息。
4. 分析连接状态,识别潜在问题
lsof -i 输出中的最后一列显示的是连接状态,比如:
-
LISTEN:表示这个进程正在监听某个端口,等待别人来连接。 -
ESTABLISHED:表示已经建立了一个活跃的连接。 -
CLOSE_WAIT、TIME_WAIT:这些状态说明连接正在关闭过程中。
如果发现大量 TIME_WAIT 或者 CLOSE_WAIT 状态的连接,可能意味着你的应用存在连接未正确释放的问题,或者是高并发场景下资源回收不及时导致的瓶颈。
这时候就可以结合其他工具(如 netstat、ss)进一步分析。
基本上就这些。lsof -i 虽然简单,但很强大,在日常运维、调试、安全排查中都非常实用。掌握几个常用组合,基本就能应对大多数网络连接相关的问题了。
# linux
# nginx
# 工具
# ai
# cURL
# 并发
# udp
# unix
# 如果你
# 就能
# 你想
# 的是
# 建立了
# 几个
# 你要
# 还能
# 帮你
# 可以通过
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速搭建安全的FTP站点?
jquery插件bootstrapValidator表单验证详解
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
如何获取免费开源的自助建站系统源码?
如何在企业微信快速生成手机电脑官网?
微信小程序 wx.uploadFile无法上传解决办法
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
iOS发送验证码倒计时应用
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
如何用PHP快速搭建高效网站?分步指南
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
简历没回改:利用AI润色让你的文字更专业
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
如何选择可靠的免备案建站服务器?
高端网站建设与定制开发一站式解决方案 中企动力
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
想要更高端的建设网站,这些原则一定要坚持!
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
手机软键盘弹出时影响布局的解决方法
高端建站三要素:定制模板、企业官网与响应式设计优化
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何确保西部建站助手FTP传输的安全性?
历史网站制作软件,华为如何找回被删除的网站?
jQuery中的100个技巧汇总
zabbix利用python脚本发送报警邮件的方法
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
Python文本处理实践_日志清洗解析【指导】
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
详解jQuery中基本的动画方法
香港服务器部署网站为何提示未备案?
如何彻底卸载建站之星软件?
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
python中快速进行多个字符替换的方法小结
北京企业网站设计制作公司,北京铁路集团官方网站?
Laravel如何处理表单验证?(Requests代码示例)
Laravel如何配置和使用缓存?(Redis代码示例)
Swift开发中switch语句值绑定模式
EditPlus中的正则表达式 实战(4)
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
如何在Windows虚拟主机上快速搭建网站?
Swift中swift中的switch 语句

