如何查看进程网络连接 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_WAITTIME_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 语句