有没有办法返回传出的TCP连接?

时间:2020-10-30 18:40:57

标签: python tcp

我不知道从哪里开始或从什么开始工作,所以任何建议都会有所帮助。更具体地说,python是否仍然可以读取TCPView并完全返回其看到的内容?

1 个答案:

答案 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

然后,在获得每条线(连接)之后,您需要进行一些手动解析以提取数据。

我将显示示例输出,但这可能很敏感。

相关问题