当前位置:   article > 正文

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

/proc/pid/net/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的符号链接.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/436157
推荐阅读
相关标签
  

闽ICP备14008679号