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 '|' -
相关推荐
cjp5603 分钟前
008.ASP.NET WEB API 用户注册,登录API
运维·服务器
m0_693200654 分钟前
VSCode使用ssh remote插件远程连接linux主机
linux·vscode·ssh
筵陌8 分钟前
Linux网络数据链路层
linux·网络
Aurora_Dawn_yy17 分钟前
单机部署数据同步_jdk,mysql,kafka,flink,zookeeper,达梦,starrocks
大数据·linux·starrocks·zookeeper·达梦
bush418 分钟前
嵌入式linux学习记录十三
linux·嵌入式
sbjdhjd19 分钟前
Tomcat(下) 集群高可用实战:反向代理・负载均衡・分布式 Session
运维·前端·云原生·开源·tomcat·负载均衡·memcached
xjxijd26 分钟前
行为感知算法赋能运维,提前预判硬件故障与异常访问
运维·算法
zandy101127 分钟前
体验家 XMPlus 改善工单全链路自动化:从“发现问题“到“验证解决“的工程化闭环设计
运维·自动化
ai_coder_ai27 分钟前
如何使用adb实现自动化脚本?
运维·adb·自动化
Splashtop高性能远程控制软件27 分钟前
微软2026年6月补丁星期二技术分析:206个漏洞、3个已公开零日的分级修复方案
运维·安全·自动化·远程桌面·splashtop