Linux网络-ss命令

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

Linux服务器作为一个常用的网络服务器,主要的作用就是向客户端提供网络服务,所以我们需要熟练掌握网络相关的命令,用于探测对端网络是否畅通,用于检查本地网络进程是否正常,以及可以通过命令去远端服务器进行下载文件,或者请求对方接口。

主要从以下几个方面来介绍:

1.给Linux服务器配置IP

2.探测对方网络连通性(ping & telnet)

3.下载对方文件(wget)

4.请求对方服务器(curl)

5.检查本地服务状态(netstat)

6.检查本地服务状态(ss)本章节

7.网络小结

上一章我们说过,命令netstat在大量网络连接的时候,是有性能问题的,当然一般的情况下还是比较难遇到的问题的,所以有替代方案就是ss命令,这2个命令在使用上,基本大体差不多,看个人习惯。

SS

ss命令是 netstat 命令的替代品,它提供了与 netstat 类似的功能,但性能更优,输出更详细。ss 命令的基本语法如下:

复制代码
ss [options]

下面是一些常用的 ss 选项及其作用:

  1. 查看活动连接

    • -a: 显示所有连接和监听端口

    • -t: 仅显示 TCP 协议的连接

    • -u: 仅显示 UDP 协议的连接

    • -x: 仅显示 UNIX 域套接字连接

  2. 查看监听端口

    • -l: 仅显示正在监听的连接
  3. 查看进程信息

    • -p: 显示与每个连接相关的进程 ID 和进程名称
  4. 查看统计信息

    • -s: 显示各种协议的统计信息
  5. 查看套接字选项

    • -o: 显示套接字选项
  6. 输出格式控制

    • -n: 以数字形式显示地址和端口

    • -r: 以更易读的格式显示输出

  7. 其他选项

    • -i: 显示网络接口信息

    • -e: 显示扩展信息

比如,如果您想查看系统上所有的 TCP 连接,可以使用:

复制代码
ss -antp

这将显示所有活动的 TCP 连接,包括远程地址、本地地址、状态和相关进程信息。

如果您想查看某个进程正在使用的网络连接,可以使用:

复制代码
ss -antp | grep 12345

这将只显示与进程 ID 为 12345 的进程相关的网络连接。

与 netstat 相比,ss 命令的优势在于:

  1. 更快的执行速度,特别是在连接数量非常大的情况下。

  2. 输出更加详细和丰富,包括更多的连接信息和统计数据(信息也就更多,看起来也相对麻烦)。

  3. 支持更多的过滤和查询选项,可以更精确地定位问题。大部分问题其实也不需要用到那么多选项。

关注微信公众号《运维小路》获取更多内容。

相关推荐
SkyWalking中文站3 小时前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
用户120487221615 小时前
Linux驱动编译与加载
linux·嵌入式
程序员老赵7 小时前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
火车叼位7 小时前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
vivo互联网技术11 小时前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户8055336980311 小时前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户8055336980311 小时前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
小猿姐18 小时前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
七歌杜金房1 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac