一、netstat 命令

1. 核心功能

  • 显示网络连接、路由表、接口统计等信息。

  • 支持TCP、UDP、UNIX域套接字等协议。

  • 可查看进程与端口的关联。

2. 常用语法示例

查看所有活动连接

netstat -a
# 输出示例:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.1.2:22 10.0.0.5:54321 ESTABLISHED
  • -a:显示所有连接(包括监听和非监听)。查看TCP监听端口

netstat -tuln
# 输出示例:
Proto Recv-Q Send-Q Local Address State PID/Program name
tcp 0 0 0.0.0.0:80 LISTEN 1234/nginx
  • -t:TCP协议;-u:UDP协议;-l:仅监听端口;-n:禁用域名解析。

统计各连接状态的数量

netstat -ant | awk '/^tcp/ {print $6}' | sort | uniq -c
# 输出示例:
10 ESTABLISHED
2 TIME_WAIT

查看进程与端口的关联

netstat -tulnp
# 输出示例:
tcp6 0 0 :::80 :::* LISTEN 1234/nginx

二、ss 命令

1. 核心功能

  • 替代 netstat 的现代工具,直接读取内核网络栈数据(通过 netlink 接口)。

  • 速度更快,支持更复杂的过滤语法。

  • 支持显示TCP内部状态(如拥塞窗口、RTT)。

2. 常用语法示例

查看所有TCP连接

ss -at
# 输出示例:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.168.1.2:22 10.0.0.5:54321
  • -a:所有连接;-t:TCP协议。

查看监听端口

ss -tuln
# 输出示例:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:80 *:*
  • -u:UDP协议;-l:监听端口;-n:禁用域名解析。

按状态过滤连接

ss -t state established
# 输出示例:
Recv-Q Send-Q Local:Port Peer:Port
0 0 192.168.1.2:22 10.0.0.5:54321
  • 支持过滤:establishedtime-waitclosed 等状态。

查看进程和Socket详细信息

ss -tulnp
# 输出示例:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 128 *:80 *:* users:(("nginx",pid=1234,fd=3))
  • -p:显示进程信息(需root权限)。

统计各状态的连接数

ss -s
# 输出示例:
Total: 45 (kernel 60)
TCP: 10 (estab 5, closed 2, orphaned 0, timewait 3)
UDP: 3

三、核心区别对比

特性 netstat ss
数据来源 读取 /proc/net 文件 直接通过 netlink 接口读取内核数据
性能 较慢(高连接数时卡顿) 极快(适合大规模服务器)
功能复杂度 简单但功能有限 支持高级过滤和TCP内部状态分析
输出信息 基础连接信息 更详细的Socket元数据(如内存用量)
系统兼容性 旧系统默认安装 新系统推荐工具(如CentOS 7+/Ubuntu 16+)
进程关联显示 需要 -p 选项 同样支持,但格式更清晰

 
 
 
 
 

netstat 与 ss 比较的更多相关文章

  1. Linux指令--traceroute,netstat,ss

    通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一 ...

  2. 【Linux 运维】查看网络连接状态信息之netstat和ss命令详解

    一.netstat 常用命令详解 通过man netstat可以查看netstat的帮助信息: netstat 命令:用于显示各种网络相关信息,如网络连接,路由表,接口状态,无效连接,组播成员 等等. ...

  3. linux学习笔记33--命令netstat和ss

    我们以前接触过了vmstat,iostat了,这次是netstat.route,traceroute,ping,netstat这些命令与计算机网络相关性很强,最好是能先了解下TCP/IP协议. net ...

  4. 二十、网络ifconfig 、ip 、netstat、ss之二

    ip 网络层协议 ip地址 点分十进制分为4段,范围 0-255 ip分类 A 占据1段,最左侧一段第一位固定为0 0 000 0000 - 0 111 1111  0 - 127:其中0为网络,12 ...

  5. netstat与ss

    netstat -t:tcp协议的连接 -u:udp协议的链接 -l:监听状态的连接 -a:所有状态的连接 -p:连接相关的进程 -n:数字格式显示 -r:显示路由表,类似于route或ip rout ...

  6. 网络工具netstat与ss

    建议使用ss命令,2001年的时候netstat 1.42版本之后就没更新了,之后取代的工具是ss.netstat命令在很多场景下比较慢.ss可以显示跟netstat类似的信息,但是速度却比netst ...

  7. linux--网络管理-ifconfig,route,netstat,ip,ss,dns,主机名网卡名修改bond

    cat /etc/services 查看常见端口对应的服务 查一查某个端口号,是哪个进程在用  lsof  -i :6010 49152-65535:动态端口或私有端口,客户端程序随机使用的端口  其 ...

  8. 解开一个疑惑,为什么LVS开放的端口,使用netstat或ss命令,不能查找到其监听的端口呢?

    RT, 这个疑问,本周一直在心里,今天找到一个说法. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 另外LVS规则算是内核方法,用netstat -ntulp也显 ...

  9. netstat -anp/ss -t里的Send-Q和Recv-Q含义

    Send-Q 对方没有收到的数据或者说没有Ack的,还在本地缓冲区 Recv-Q 数据已经在本地接收缓冲区,但是还没有recv() The count of bytes not copied by t ...

  10. SS命令和Netstat命令比较

    在早期运维工作中,查看服务器连接数一般都会用netstat命令.其实,有一个命令比netstat更高效,那就是ss(Socket Statistics)命令!ss命令可以用来获取socket统计信息, ...

随机推荐

  1. Python连接远程设备

    import paramiko def content_ssh(): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(parami ...

  2. 单点登录-CAS原理

    1.首先了解几个概念 1).TGC:Ticket-granting cookie,存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用.2).TGT:ticket grant ...

  3. Spring Cloud认知学习(三):网关Zuul、config使用

    目录 zuul 作用: 简单示例: 0.创建模块 1.导入依赖: 2.主程序增加注解: 3.配置application.yml: 4.测试 配置语法: 路由 补充: 上一篇介绍一个新的组件Hystri ...

  4. 使用badboy配合jmeter测试(详细)

    工具 badboy2.2.5  jmeter 5.4.1 两个工具都必须是最新版,否则jmeter打开脚本的时候会报错 1.首先打开badboy,首页如下图 2.进入后就开始自动录制脚本,可以输入要测 ...

  5. VS2019上如何使用MFC

    打开VS的安装程序 选择 C++桌面开发的MFC模块 安装即可 新建MFC项目 使用 参考:链接 MFC介绍 微软基础类库(英语: Classes,简称MFC)是微软公司提供的一个类库(class l ...

  6. RockyLinux9编译安装MySQL5.7

    Linux版本: Rocky Linux release 9.5 (Blue Onyx) 1.下载 打开MySQL-Community-Server官方下载页面:https://downloads.m ...

  7. LeetCode刷题:runtime error: reference binding to null pointer of type 'int' (stl_vector.h)报错请教

    题目:https://leetcode.cn/problems/merge-intervals/ 错误代码: // 思路初探:做了很多道类似区间操作的题目了.本题就是尽可能少的创建新区间 // 1.首 ...

  8. 「CF 123E」Maze

    传送门 题意澄清 对于 dfs 遍历时,在某一个点进入子树的顺序并不是按输入顺序,而是假定随机选择未进入过的子树 (这纠结了我好久) . 破题思路 首先可以明确这题不能推一个 \(O(1)\) 的式子 ...

  9. DAB实现中用到的主要设计模式

    DAB C++ 版本设计模式应用实践 1. 命令模式 (Command Pattern) 设计目标 模块解耦:实现各模块独立编译.测试.运行,消除模块间直接依赖 扩展准备:为桥接模式实现奠定基础 依赖 ...

  10. [源码分析] Facebook如何训练超大模型--- (5)

    [源码分析] Facebook如何训练超大模型--- (5) 目录 [源码分析] Facebook如何训练超大模型--- (5) 0x00 摘要 0x01 背景 0x02 思路 2.1 学习建议 2. ...