ubuntu 查看进程所使用的网络连接

ss 命令是一个用于检查 socket 统计信息的工具,它是 netstat 命令的现代替代品,提供更多的信息且更快。ss 命令来自于 iproute2 包,现在在大多数 Linux 发行版中可用。

下面是ss -tunap各个选项的解释:

  • -t (TCP): 显示 TCP sockets。
  • -u (UDP): 显示 UDP sockets。
  • -n :不解析服务名称(即不将端口号转换为服务名,如 80 端口转换为 http),直接显示端口号。
  • -a :显示所有 sockets(默认情况下,仅显示处于监听状态的 sockets)。
  • -p :显示 socket 对应的进程信息(需要 root 权限)。

组合这些选项,ss -tunap 命令会列出系统上所有 TCP 和 UDP sockets 的详细信息,包括它们的状态、端口号以及相关的进程ID和进程名称。这对于诊断网络问题或仅仅查看哪些服务在监听特定的端口非常有用。使用这个命令可能需要管理员权限(或 sudo),特别是为了能查看各个 socket 对应的进程信息。

举例:

查看所有python程序使用的网络信息:

bash 复制代码
ss -tunap | grep -E "$(ps -aux | grep python | grep -v 'grep' | awk '{print $2}' | paste -sd '|' -)"

分析:

获取所有python程序的pid:

bash 复制代码
ps -aux | grep python | grep -v 'grep' | awk '{print $2}'

paste -sd '|' -paste命令用于合并输入的行,-s选项使得所有行被合并为单一行,-d '|'指定分隔符为|-表示从标准输入读取。相比于tr '\n' '|',这不会在输出的最后添加额外的|

bash 复制代码
| paste -sd '|' -
相关推荐
NamoAmitabha1283 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No74 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌4 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121385 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck6 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484817 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS7 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿7 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog8 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞8 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python