我不知道从哪里开始或从什么开始工作,所以任何建议都会有所帮助。更具体地说,python是否仍然可以读取TCPView并完全返回其看到的内容?
答案 0 :(得分:0)
我认为piggy带Window的netstat
可能是最简单的解决方案:
from subprocess import run
def get_tcp_conns():
result = run(["netstat", "-p", "TCP"], capture_output=True)
return result.stdout
这种确切方式的主要问题是netstat
挂起了一段时间,因此要花费一些时间才能真正获得输出(例如一分钟+)。
从this answer中汲取灵感,您还可以执行以下操作来获得实时输出:
from subprocess import Popen, PIPE
import sys
def get_tcp_conns():
process = Popen(["netstat", "-p", "TCP"], stdout=PIPE)
for line in iter(process.stdout.readline, b''):
print(line) # Do whatever here
然后,在获得每条线(连接)之后,您需要进行一些手动解析以提取数据。
我将显示示例输出,但这可能很敏感。