![使用 RawCap、Wireshark 和一些管道实用程序在 Windows 上实时捕获环回接口数据包](https://linux22.com/image/1407491/%E4%BD%BF%E7%94%A8%20RawCap%E3%80%81Wireshark%20%E5%92%8C%E4%B8%80%E4%BA%9B%E7%AE%A1%E9%81%93%E5%AE%9E%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%9C%A8%20Windows%20%E4%B8%8A%E5%AE%9E%E6%97%B6%E6%8D%95%E8%8E%B7%E7%8E%AF%E5%9B%9E%E6%8E%A5%E5%8F%A3%E6%95%B0%E6%8D%AE%E5%8C%85.png)
在偶然发现另一篇关于 Windows 上环回数据包捕获的超级用户帖子后,我被引导到原始资本,一种提供环回数据包伪捕获的实用程序。 RawCap 写入 Wireshark 可以读取的 libpcap 文件。 这对于捕获然后显示捕获的数据非常有用,但我有一个用例,我想实时查看这些捕获的数据包。
Wireshark 支持来自 STDIN 的流式数据包,但 RawCap 不支持将其输出定向到 STDOUT。它只能写入文件。RawCap 支持禁用缓冲的选项,将每个数据包写入文件。
是否有一些第三个实用程序可供我使用,类似于tail
在 Windows 下写入文件时输出文件内容的实用程序,以便我可以实时从 RawCap 捕获文件传输到 Wireshark?
RawCap -> Intermediate File -> Tail-Like Utility for Binary -> Wireshark STDIN
答案1
事实证明我实际上可以只使用tail
它。这并不理想,因为它可能在输出之前寻找\n
数据,但数据包捕获中似乎有足够的数据来实现这一点。以下是我所做的:
- 安装Unix实用程序获取 Win32 的 tail 端口。
- 安装原始资本
- 安装Wireshark
rawcap -f 127.0.0.1 localhost.pcap
tail -c +1 -f localhost.pcap | wireshark -k -i -
因为 RawCap 需要您的初始终端,所以您需要启动第二个终端作为尾部。另外,显然需要替换您需要的任何路径。
有点像黑客,但确实有效!我只能希望 Wireshark 在未来版本中能够将 RawCap 的 shell 功能作为更直接的方法。
答案2
请给出比我更完整的答案,展示Wireshark如何实时显示数据包,但也许你正在寻找的命令是球座。
$ ls -l | tee file.txt | head -n 1
... 转储到屏幕,保存为文件,并通过管道将转储到屏幕的内容传输到头部。