加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何确定给定进程(linux)正在打开哪些TCP / UDP端口?

发布时间:2020-12-14 02:39:34 所属栏目:Linux 来源:网络整理
导读:我知道如何使用lsof或netstat执行相反的操作(找出具有给定端口的进程),但是对Google的广泛研究并没有帮助我解决相反的问题. 我知道我可以使用“netstat -np”结合一些grep和sed,但它看起来很hacky.是否有“lsof -i tcp:80”的反转版本,它将显示给定进程打开
我知道如何使用lsof或netstat执行相反的操作(找出具有给定端口的进程),但是对Google的广泛研究并没有帮助我解决相反的问题.

我知道我可以使用“netstat -np”结合一些grep和sed,但它看起来很hacky.是否有“lsof -i tcp:80”的反转版本,它将显示给定进程打开的所有本地端口?

解决方法

看一下手册页,您会发现可以使用-p选项指定进程ID,使用-i选项将显示限制为Internet域套接字(-i4仅用于ipv4和-i6用于IPv6的).所以,如果你将它们串在一起……
lsof -p <pid> -i

…你得到的不是你想要的,因为默认情况下lsof会或你的请求一起.所以添加-a(和)标志……

lsof -p <pid> -a -i

…并且您将获得由指定进程ID打开的IPv4套接字列表.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读