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 '|' -
相关推荐
时间售卖铺几秒前
Nginx 反向代理
运维·nginx·云原生
life码农1 分钟前
Nginx location 优先级详解:匹配规则、修饰符与完整代码示例
运维·nginx
别动我齐刘海17 分钟前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
Lsetea20 分钟前
curl -I检查HTTPS返回405:HEAD、GET与证书验收分层排查
linux·http·https·ssl证书·curl
我命由我1234526 分钟前
Python 开发 - Python 虚拟环境
运维·开发语言·后端·python·http·https·java-ee
dlhto35 分钟前
Windows 使用 Rufus 制作 AlmaLinux 10.2 启动 U 盘:从 ISO 下载到服务器安装
运维·服务器·windows
一直C37 分钟前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull
软件派39 分钟前
Beam.Win 自动化办公与业务流程提效指南
运维·自动化
承渊政道1 小时前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp
雯宝1 小时前
usb_serial_init/tty_driver/alloc_tty_driver/tty_register_driver/usb_register
linux