gpt4 book ai didi

linux - linux 上的实时数据包捕获

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:43 25 4
gpt4 key购买 nike

我想知道是否有可能实时捕获网络数据包并将其保存到变量中,例如在 python 中。我需要从中获取一些信息,而不是将其保存到文件中。

我需要捕获 http 数据包并获取源地址及其内容(应该是 html 代码)以仅从中提取文本,然后根据该信息完成其余工作。没有理由将每个数据包都保存到文件中,因为整个过程会更慢。我一直在寻找任何工具来执行此操作但没有成功。如果您知道任何可以帮助我做到这一点的工具,请写下来。

最佳答案

我相信你已经看到了this link关于处理 PCAP 文件的库。现在的问题是如何在不存储在文件中的情况下实时获取。

可能最简单的方法是使用 fifo

$ mkfifo /tmp/tcpdump.fifo

现在您可以捕获数据并将其输入指定的 fifo

$ sudo tcpdump -s0 -i eth0 -f /tmp/tcpdump.fifo tcp port 80

在您的 Python 程序中,您可以按照链接中的说明打开“/tmp/tcpdump.fifo”作为输入文件。

或者,您可以尝试在您的程序中打开“/dev/stdin”并从那里读取数据;然后,您可以使用 shell 并跳过名为 fifo 的中间层,将 PCAP 数据直接通过管道传输到标准输入中。

$ sudo tcpdump -s0 -i eth0 -f - tcp port 80 | ./youprogram.py

关于linux - linux 上的实时数据包捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20555947/

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