查找程序使用 python 的端口
Find ports a program uses with python
我想找到 'plugin-container.exe' 使用的端口,以便我可以监视哪些 IP 地址与该程序交互,问题是有两个 'plugin-container.exe'。
我使用 Firefox 开发版。
我已经关闭了监控部分,但我需要以某种方式自动获取端口。据我所知,获取它们意味着知道进程正在使用什么 PID,两个进程 = 2 个 PID。 ;_;
我可以同时添加它们,但是我的浏览器有大量流量,当我手动添加所有 4 个端口时它会杀死我的程序。
现在我正在使用它来获取列表,re.findall 来过滤列表中的 'plugin-container.exe',然后我使用 psutil 来查找哪些端口。
我觉得有一种更简单的方法可以做到这一切。
import os, sys, win32api, re, psutil
tasklistrl = os.popen("tasklist").readlines()
tasklistr = os.popen("tasklist").read()
如果您想要一种使用 psutil 通过可执行文件名称查找进程的好方法,那么您应该使用 process_iter and cmdline:
my_processes = [x for x in psutil.process_iter() if os.path.split(x.cmdline()[0])[1] == 'python']
(用你想要的可执行文件名替换'python'
)
我明白了。
还有另一个端口,但它们是连续的。
嗯
process_name = "plugin-container.exe"
for proc in psutil.process_iter():
process = psutil.Process(proc.pid)
pname = process.name()
#print pname
if pname == process_name:
print(proc.pid)
d = psutil.Process(int(proc.pid))
print(d.name())
print(d.memory_info())
dec = input("Use this one?")
if dec in ["yes","y","yep"]:
con = d.connections(kind='udp4')
break
for connection in con:
yourmom = connection.laddr[1]
port1 = yourmom
port2 = port1 + 1
我想找到 'plugin-container.exe' 使用的端口,以便我可以监视哪些 IP 地址与该程序交互,问题是有两个 'plugin-container.exe'。 我使用 Firefox 开发版。
我已经关闭了监控部分,但我需要以某种方式自动获取端口。据我所知,获取它们意味着知道进程正在使用什么 PID,两个进程 = 2 个 PID。 ;_;
我可以同时添加它们,但是我的浏览器有大量流量,当我手动添加所有 4 个端口时它会杀死我的程序。
现在我正在使用它来获取列表,re.findall 来过滤列表中的 'plugin-container.exe',然后我使用 psutil 来查找哪些端口。
我觉得有一种更简单的方法可以做到这一切。
import os, sys, win32api, re, psutil
tasklistrl = os.popen("tasklist").readlines()
tasklistr = os.popen("tasklist").read()
如果您想要一种使用 psutil 通过可执行文件名称查找进程的好方法,那么您应该使用 process_iter and cmdline:
my_processes = [x for x in psutil.process_iter() if os.path.split(x.cmdline()[0])[1] == 'python']
(用你想要的可执行文件名替换'python'
)
我明白了。 还有另一个端口,但它们是连续的。 嗯
process_name = "plugin-container.exe" for proc in psutil.process_iter(): process = psutil.Process(proc.pid) pname = process.name() #print pname if pname == process_name: print(proc.pid) d = psutil.Process(int(proc.pid)) print(d.name()) print(d.memory_info()) dec = input("Use this one?") if dec in ["yes","y","yep"]: con = d.connections(kind='udp4') break for connection in con: yourmom = connection.laddr[1] port1 = yourmom port2 = port1 + 1