当前位置: 首页 > news >正文

关于 /proc/net/tcp 与 /proc/$pid/net/tcp 的关系分析

关于 /proc/net/tcp 与 /proc/$pid/net/tcp 的关系分析

1. 基础概念

在 Linux 系统中,每个进程必定归属于一个且仅一个网络命名空间(Network Namespace)。这是 Linux 命名空间隔离机制的核心特性之一。

/proc/net/tcp
显示当前网络命名空间中所有TCP连接信息(全局视角)。

/proc/$pid/net/tcp
显示特定进程所属网络命名空间中的TCP连接信息(进程视角)。若进程在主机默认命名空间,则内容与全局文件相同。

2. 核心区别

特性/proc/net/tcp/proc/$pid/net/tcp
数据范围当前命名空间所有 TCP 连接仅限该进程所属命名空间的 TCP 连接
命名空间感知仅显示当前命名空间跟随进程的命名空间(容器友好)
权限要求需 root 查看所有连接仅能查看自身进程或权限足够的进程
典型用途主机级网络监控进程/容器级网络诊断

3. 关键关系

(1) 命名空间隔离性
容器环境:
容器中的进程通常位于独立的网络命名空间。此时:

cat /proc/net/tcp → 显示主机全局连接

cat /proc/$容器PID/net/tcp → 显示容器内的连接

# 查看容器内连接(需先获取容器PID)
docker inspect --format '{{.State.Pid}}' nginx
cat /proc/12345/net/tcp

(2) 数据一致性
若进程在主机默认命名空间中:执行以下命令,输出为空

diff /proc/net/tcp /proc/$pid/net/tcp

若进程在独立命名空间(如容器):
两文件内容完全不同,反映各自命名空间的连接状态。

4. 查看网络空间

(1) 显示当前网络空间

# 通过 inode 确认网络命名空间
ls -l /proc/$$/ns/net
# 示例输出:
lrwxrwxrwx 1 root root 0 Jun 12 16:25 /proc/9208/ns/net -> net:[4026531956]

(2) 查看进程所属网络空间

# 通过 inode 确认网络命名空间
ls -l /proc/$PID/ns/net
# 示例输出:
lrwxrwxrwx 1 root root 0 Jun 12 16:18 /proc/27791/ns/net -> net:[4026531956]

相同 inode 值 → 同一网络命名空间
不同 inode 值 → 不同网络命名空间

http://www.xdnf.cn/news/996013.html

相关文章:

  • python中的循环结构
  • 多参表达式Hive UDF
  • 如何确定某个路由器的路由表?(计算机网络)
  • Flink读取Kafka写入Paimon
  • C++11中char16_t和char32_t的入门到精通
  • 黑马点评面试话术
  • uniapp 时钟
  • 电动汽车驱动模式扭矩控制设计方法
  • 三、DevEco Studio安装和HelloWorld应用
  • Kubernetes 集群安全(身份认证机制、SecurityContext、Network Policy网络策略、预防配置泄露、全面加固集群安全)
  • Springboot仿抖音app开发之消息业务模块后端复盘及相关业务知识总结
  • C++核心编程(动态类型转换,STL,Lanmda)
  • 【EdgeAI实战】(3)边缘AI开发套件 STM32N6570X0 用户手册
  • 【递归、搜索与回溯算法】概括
  • Vue + Vite 项目部署 Docker 全攻略:原理、路由机制、问题排查与开发代理解析
  • 使用 PyTorch 和 SwanLab 实时可视化模型训练
  • Python使用总结之Linux部署python3环境
  • 【测试开发】数据类型篇-列表推导式和字典推导式
  • Vue3+TypeScript实现责任链模式
  • XML 注入与修复
  • 接口测试不再难:智能体自动生成 Postman 集合
  • Apache 反向代理Unity服务器
  • Golang启用.exe文件无法正常运行
  • NGINX 四层 SSL/TLS 支持ngx_stream_ssl_module
  • vue3集成高德地图绘制轨迹地图
  • 鸿蒙 UI 开发基础语法与组件复用全解析:从装饰器到工程化实践指南
  • uni-app 小程序 Cannot read property ‘addEventListener‘ of undefined, mounted hook
  • 一.干货干货!!!SpringAI入门到实战-小试牛刀
  • 山东大学《Web数据管理》期末复习宝典【万字解析!】
  • Mac 系统 Node.js 安装与版本管理指南