gpt4 book ai didi

Python psutil 查找可用端口

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:41 27 4
gpt4 key购买 nike

我正在尝试查找所有可用的端口来连接计算机。我正在使用下面的代码

import psutil
for proc in psutil.process_iter():
print (proc)
for x in proc.connections():
if x.status == psutil.CONN_LISTEN:
print (x)

print(proc)打印所有进程,如 psutil.Process(pid=5808, name='pythonw.exe')等等。我的第一个问题是:那是什么pid多变的?这是一个端口吗?

第二个是当我print (x)时我得到类似 pconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=('xxx.x.x.x', xxxxx), raddr=(), status='LISTEN') 的输出我明白了laddr代表本地地址,但是 laddr 的其他数字是多少? ? “xxx.x.x.x”看起来像一个 IP 地址,但在某些输出上它是空的,没有数字。也是 laddr 的第二个变量有时是 3 位数字,有时是 5 位数字。这些数字代表什么?

我的最后一个问题是,我寻找开放端口的方法是否正确?我正在尝试连接计算机,因此我首先尝试找到我身上的开放端口。

最佳答案

pid 是一个“进程 ID”,系统上运行的每个进程都有一个唯一的标识符,因此您可以调整其参数,或在其运行时向其发送信号,如“终止”、“停止”、“继续”。

laddr=('xxx.x.x.x', xxxxx) 是 IP 地址和端口号的元组。

在我的系统上运行时,我得到以下示例:

laddr=('127.0.0.1', 3128) - 仅在端口 3128 上监听 IPv4 本地主机/环回

laddr=('::1', 3128) - 监听 IPv6 本地主机/环回端口 3128

laddr=('0.0.0.0', 80) - 监听任何 IPv4 地址、端口 80 (http)

laddr=('::', 80) - 监听任何 IPv6 地址、端口 80 (http)

如果您这样做是为了连接到另一台计算机,则不需要这样做 - 当您创建传出套接字时,通常会为您分配源端口,因此您无需担心它。

关于Python psutil 查找可用端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37624562/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com