Appearance
Appearance
数据包输入
加载现有文件(使用未知文件格式)
从物理网络设备抓包
改进现有方式(OS driver/libpcap/WinPCap)
编写自己的抓包应用程序
从 pipe 抓包
经常有人询问,在常见方式并不真正适用时,如何将数据包数据导入 Wireshark。
对于实时抓包,CaptureSetup 页面将全面概述已经实现的各种方式。
以下页面用于选择开发尚不可用功能的第一步。
选择哪种方式取决于你只是有一些 Wireshark 无法理解格式的抓包文件,还是确实想以 libpcap/WinPcap 不支持的方式捕获实时网络数据。
所以你有一个外部应用程序(或它生成的文件),它以 Wireshark 无法理解的文件格式生成网络数据包数据。
你可以(按优先顺序):
修改该应用程序,使其生成 Wireshark 兼容的文件格式(例如 Development/LibpcapFileFormat);这可能需要向 libpcap 添加新的 link-layer type(如果你正在这样做,请向 tcpdump-workers@tcpdump.org 请求为其分配一个 link-layer type 值——不要任意选择一个值)
向 Wireshark 的 wiretap library 添加对该文件格式的支持(如果你了解该文件格式,或愿意进行逆向工程工作)
编写一个外部转换器,将外部文件格式转换为 libpcap(但这样的话,为什么不直接把这个功能添加到 wiretap,让 Wireshark 可以直接读取该文件呢)
向 wiretap 添加另一种文件格式相当容易(当然,你必须了解该文件格式)。更多信息可在 Wireshark 源码的 wiretap 目录中的 README 文件中找到。
所以你有一些特殊硬件,并想把捕获到的数据导入 Wireshark。
不幸的是,这项任务几乎肯定依赖平台。
标准抓包会使用操作系统的网卡驱动程序以及 libpcap/WinPcap 来实际捕获数据包数据。
改进这种方式是完成工作的首选方法,因为所有使用 libpcap/WinPcap 的应用程序都会从这项工作中受益。
对于常见的网络硬件类型,大多数(如果不是全部)开发工作已经完成。你可以在 Supported Capture Media 页面找到概览。因此剩下的工作是为你正在使用的 OS 编写网卡驱动程序(并且很可能也要为其他 OS 编写)。
对于非常特殊或全新的网络硬件等,你可能需要做更多工作。
优点:
缺点:
因此,如果你想这样做,应就你的项目联系 libpcap/WinPcap 团队,因为这不是 Wireshark 团队的主题。
如果你不想使用标准方式,可以从头编写自己的抓包应用程序。
优点:
缺点:
如果你已经有一些专有机制(例如基于厂商的 library)来获取抓包数据,这可能是一个选项。
如果你知道方法,可以使用 pipes 做很多奇怪的事情 😃
详情请参见 CaptureSetup 页面。
Imported from https://wiki.wireshark.org/Development/PacketInput on 2020-08-11 23:12:57 UTC