【Linux】ss 命令使用详解

目录

一、ss命令介绍

二、ss命令格式和使用

1、命令格式

2、ss命令的常用选项

3、命令的常见用法

[3.1 找出打开套接字/端口应用程序](#3.1 找出打开套接字/端口应用程序)

[3.2 检查系统的监听套接字](#3.2 检查系统的监听套接字)

[3.3 显示所有状态为established的SMTP连接](#3.3 显示所有状态为established的SMTP连接)

[3.4 查看建立的 TCP 连接](#3.4 查看建立的 TCP 连接)

[3.5 通过 -r 选项解析 IP 和端口号](#3.5 通过 -r 选项解析 IP 和端口号)

[3.6 本地和目标地址过滤](#3.6 本地和目标地址过滤)

[3.7 通过 TCP 的状态进行过滤](#3.7 通过 TCP 的状态进行过滤)


【Linux】ip命令详解_linux ip 命令-CSDN博客

【Linux】ifconfig命令详解-CSDN博客

【Linux】网络诊断 ping命令详解_linux ping-CSDN博客

【网络】抓包工具Wireshark下载安装和基本使用教程-CSDN博客

【网络】网络层ICMP协议-CSDN博客

【Linux】nc 网络诊断 | 文件传输 命令详解_nc测网络端口-CSDN博客

【Linux】网络诊断 traceroute命令详解-CSDN博客

【Linux】nmcli命令详解-CSDN博客


一、ss命令介绍


Linux下的ss命令是Socket Statistics的缩写,也被称为IPC(Inter-Process Communication)套接字统计。这是一个强大的网络管理命令,主要用于获取系统中socket的统计信息,可以帮助系统管理员诊断和排查网络问题,包括检查当前网络连接及端口状态、搜索网络问题、统计网络情况、过滤网络数据等等,从而解决网络问题,节省管理工作量,保证网络安全。

ss命令的功能和netstat类似,相对netstat,但它具有一些明显的优势:

首先,ss命令能显示更多更详细的TCP和连接状态的信息。

其次,它在处理大量socket连接时,比netstat更快更高效。这是因为ss命令利用了TCP协议栈中的tcp_diag模块,这个模块可以获得Linux内核中的第一手信息,因此其性能优于其他工具。

ss命令的使用方式也非常灵活,可以通过添加不同的参数来查看不同类型的信息。例如,使用-a参数可以列出所有连接状态;使用-t参数可以只列出TCP连接状态;使用-u参数可以只列出UDP连接状态;使用-l参数可以只列出监听状态;使用-s参数可以列出已经建立的连接状态。这些参数可以组合使用,以满足不同的查看需求。


二、ss命令格式和使用


1、命令格式

ss -help

2、ss命令的常用选项

  如下列举一些常用的选项,若需要了解更多,可以使用 ss --help 查看
  -n, --numeric:以数字格式显示地址和端口。使用此选项可以避免将地址和端口转换为主机名或服务名,从而加快查询速度
  -t, --tcp:仅显示TCP套接字信息
  -u, --udp:仅显示UDP套接字信息
  -l, --listening:仅显示处于监听状态的套接字
  -a, --all:显示所有套接字信息,包括监听和非监听状态的套接字
  -r, --resolve:尝试解析服务名为主机名
  -p, --processes:显示与每个套接字相关联的进程信息,包括进程ID和进程名称
  -e, --extended:显示详细的TCP套接字信息
  -s, --summary:显示套接字统计摘要信息。

3、命令的常见用法


3.1 找出打开套接字/端口应用程序

  ss -tnlp | grep port

如下java程序pid:18034 ,监听端口2181

3.2 检查系统的监听套接字


监听套接字是系统等待外部连接的地方。使用ss命令可以轻松检查这些套接字:

 ss -l   | grep  1019

3.3 显示所有状态为established的SMTP连接

ss -o state 'established'
 
ss -o state established '( dport = :smtp or sport = :smtp )'

3.4 查看建立的 TCP 连接

ss -tna

3.5 通过 -r 选项解析 IP 和端口号

显示 TCP 协议的 sockets 只显示处于监听状态的端口

ss -tlr

3.6 本地和目标地址过滤

# 匹配本地地址和端口号
ss src 192.168.2.152

# 匹配远程地址和端口号
ss dst 192.168.2.152
ss dst 192.168.2.153:50460
ss dst 192.168.2.153:mysql

3.7 通过 TCP 的状态进行过滤


ss 命令还可以通过 TCP 连接的状态进程过滤,支持的 TCP 协议中的状态有:

{established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listen|closing}

# 列举出处于 FIN-WAIT-1状态的源端口为 80或者 443,目标网络为192.168.2/24所有 tcp套接字
ss -o state FIN-WAIT-1 dst 192.168.2/24

# 显示所有状态为 Established的HTTP连接
ss  state listening '( sport = :http or dport = :http )'

#使用 ipv4 时的过滤语法
ss  -4n state listening
# 列出所有连接到2181端口的连接和对2181端口的监听
ss  -r  state all dport = :2181

Linux网络管理命令ss的详细解释,ss的语法、用法和使用场景_linux ss-CSDN博客

原文链接:Linux网络管理命令ss的详细解释,ss的语法、用法和使用场景_linux ss-CSDN博客

相关推荐
无所谓จุ๊บ38 分钟前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派
TeYiToKu43 分钟前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws1 小时前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
道法自然04021 小时前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
yeyuningzi1 小时前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
上辈子杀猪这辈子学IT1 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei1 小时前
linux centos 安装redis
linux·redis·centos
EasyCVR2 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
lldhsds2 小时前
书生大模型实战营第四期-入门岛-1. Linux前置基础
linux
明月看潮生2 小时前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学