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 '|' -
相关推荐
lucybean015 分钟前
食品加工行业污水处理曝气装置采购避坑与合规筛选指南
运维
harmony&10 分钟前
DevOps进阶:SonarQube 代码审计与 Harbor 镜像仓库实战
运维·devops
Neighbor_OldY25 分钟前
CSRF跨站请求伪造攻击检测与应急处置实战:伪造请求识别与防护落地
运维·安全·web安全
生活爱好者!32 分钟前
NAS能批量做短视频?docker部署MoneyPrinterTurbo
运维·docker·容器
ch3nyuyu33 分钟前
驱动第三阶段
linux
考虑考虑34 分钟前
Redis8.8新特性
运维·redis·后端
云飞云共享云桌面42 分钟前
钣金制造研发优化:不采购传统工作站,实现 SolidWorks 团队共用服务器开展三维建模
运维·服务器·网络·数据库·3d·制造
承渊政道44 分钟前
星空组网真实体验:Mac远程访问Ubuntu,SSH与HTTP全流程验证
ubuntu·http·macos·ssh·服务器管理·星空组网
YUJIANYUE1 小时前
AspFox-类NetBox的ASP+Access迷你单文件服务器V202609
运维·服务器
harmony&1 小时前
DevOps 实战:从概念到 CI/CD 持续交付全流程
运维·ci/cd·devops