我想找到' plugin-container.exe'使用的端口。所以我可以监控哪些IP地址与该程序交互,问题是有两个插件容器。 我使用Firefox Developer Edition。
我已经关闭了监控部分,但我需要自动获取端口的一些方法。从我所看到的,获取它们意味着知道该过程正在使用什么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()
答案 0 :(得分:0)
如果您想要一种使用psutil按可执行文件名查找进程的好方法,那么您应该使用process_iter和cmdline:
my_processes = [x for x in psutil.process_iter() if os.path.split(x.cmdline()[0])[1] == 'python']
(用您想要的可执行名称替换'python'
)
答案 1 :(得分:0)
我明白了。 还有另一个港口,但它们是连续的。 MEH。
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