如何获取进程正在监听的端口? [英] How to obtain ports that a process in listening on?

查看:363
本文介绍了如何获取进程正在监听的端口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用python获取进程正在侦听的端口?该过程的pid是已知的.

How do I get the ports that a process is listening on using python? The pid of the process is known.

推荐答案

您可以使用 psutil :

>>> import psutil
>>> p = psutil.Process(2549)
>>> p.name()
'proftpd: (accepting connections)'
>>> p.connections()
[connection(fd=1, family=10, type=1, local_address=('::', 21), remote_address=(), status='LISTEN')]

...要过滤侦听套接字,请执行以下操作:

...To filter for listening sockets:

>>> [x for x in p.get_connections() if x.status == psutil.CONN_LISTEN]
[connection(fd=1, family=10, type=1, local_address=('::', 21), remote_address=(), status='LISTEN')]
>>>

这篇关于如何获取进程正在监听的端口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆