Linux网络连接排查教学_Linux netstat与ss命令讲解

22次阅读

linux网络排查核心是“谁在连、连在哪、状态如何、谁在监听”,推荐用ss命令:ss -tuln查监听、ss -tan查连接、ss -tunlp查进程、ss -s看摘要,配合grep和lsof可定位90%问题。

Linux网络连接排查教学_Linux netstat与ss命令讲解

Linux 网络连接排查,核心是快速确认“谁在连、连在哪、状态如何、谁在监听”。netstatss 是最常用的两个命令,但它们定位不同:netstat 是传统工具,适合快速上手和兼容旧环境;ss 是现代替代,性能强、信息细、响应快,尤其适合高并发生产系统。

怎么看端口是否在监听

服务启动后却访问不了?先确认它真正在监听指定端口

  • ss -tuln:列出所有 TCP/udp 监听端口(-t TCP, -u UDP, -l 监听, -n 数字地址)
  • netstat -tuln:功能相同,但速度慢、部分新发行版默认不装
  • -p 可看进程(如 ss -tulp),需 root 权限才显示 PID 和程序名
  • 若某端口没出现在结果里,说明服务根本没起来,或绑定错了地址(比如只绑了 127.0.0.1)

怎么看当前有哪些连接

连接异常、连接数飙升、疑似被扫?得看清活跃连接的分布。

  • ss -tan:列出所有 TCP 连接(含 ESTABLISHED、TIME-WaiT 等),速度快,推荐
  • netstat -ant:等效但慢,适合对照理解
  • 按状态统计:ss -tan state established | wc -l 查活跃连接数;ss -tan state time-wait | wc -l 查等待关闭连接数
  • 查某个 IP 的所有连接:ss dst 192.168.1.100ss dport = :443 查目标为 https 的连接

怎么定位是哪个进程在捣鬼

端口被占、连接异常、CPU 或网络突增?必须关联到具体进程。

Linux网络连接排查教学_Linux netstat与ss命令讲解

超能文献

超能文献是一款革命性的AI驱动医学文献搜索引擎。

Linux网络连接排查教学_Linux netstat与ss命令讲解 123

查看详情 Linux网络连接排查教学_Linux netstat与ss命令讲解

  • ss -tunlp | grep :80:查 80 端口被谁监听(-u 同时看 UDP)
  • lsof -i :80:更灵活,不依赖 net-tools,也能查已建立连接的进程
  • 查某进程的所有网络连接:lsof -p 1234ss -tunp | grep 1234
  • 注意:非 root 用户执行 -p 选项会看不到其他用户进程,sudo 是常用解决方式

怎么快速掌握连接健康度

光看数量不够,得结合状态和队列判断潜在风险。

  • ss -s:一行总览——TCP 总数、ESTABLISHED 数、TIME-WAIT 数、端口使用情况等,5 秒内掌握全局
  • 关注 Recv-QSend-Q 列:非 0 表示接收或发送缓冲区积,可能是应用处理慢或对方接收卡住
  • 大量 TIME-WAIT:正常但过多可能耗尽本地端口,可调优 net.ipv4.tcp_tw_reuse
  • 大量 SYN-RECV:可能遭遇 SYN Flood 攻击,或服务响应三次握手太慢

基本上就这些。不需要死记所有参数,记住 ss -tuln(查监听)、ss -tan(查连接)、ss -tunlp(查进程)、ss -s(看摘要)这四条,再配合 greplsof,90% 的连接类问题都能当场定位。

text=ZqhQzanResources