linux命令看进程的tcp链接,linux – 从/ proc读取TCP连接列表

你的方法有很多误解.我将逐一介绍它们.

>套接字与特定进程无关.创建套接字时,其引用计数为1.但是通过不同的方法(如dup2,fork和文件描述符)传递可以创建对同一套接字的许多引用,从而导致其引用计数增加.其中一些引用可以来自一个打开的文件描述符表,它本身可以被许多线程使用.这些线程可能属于同一个线程组(PID)或不同的线程组.当您对netstat使用-p标志时,它将枚举每个进程可访问的套接字,并尝试为每个已知套接字查找进程.如果有多个候选流程,则无法保证它会显示您感兴趣的流程.

> / proc /< PID> / net / tcp不仅列出与该进程相关的套接字.它列出了该进程所属的网络命名空间中的所有TCPv4套接字.在默认配置中,系统上的所有进程都属于单个网络命名空间,因此您将看到与任何PID相同的结果.这也解释了为什么不使用网络的线程/进程在此文件中包含内容.即使它不使用网络本身,它仍然属于网络命名空间,其他进程可能使用网络.

> / proc /< PID> / net / tcp包含侦听和连接套接字.当你将-l传递给netstat时,它将只显示监听套接字.为了使输出更接近,你需要-a而不是-l.

> / proc /< PID> / net / tcp仅包含TCPv4套接字.您还需要使用/ proc /< PID> / net / tcp6来查看所有TCP套接字.

如果您只对与自己的进程相同的命名空间中的套接字感兴趣,则不需要迭代不同的PID.你可以使用/ proc / net / tcp和/ proc / net / tcp6,因为/ proc / net是/ proc / self / net的符号链接.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值