0

我正在寻找一种工具(最好在 Linux 上),它可以嗅探 UDP 流量并仅将应用程序层记录到文件中。

我不能让tcpdump/wireshark这样做,因为它们也总是写下层的标题。我尝试使用snort (./snort -qd -l ./logs),但即使数据包中没有应用程序层数据,它也会继续将数据存储到文件中。

也许有人知道这样的工具......

哦,UDP流量也是多播的......

我还尝试了multicat(VideoLAN)。他们声称它是多播的netcat。但我不知道,除了我使用 netcat 手动发送的有效载荷外,它还存储了一些其他二进制垃圾(对我而言)......熟悉 multicat 的人吗?

4

1 回答 1

0

Wireshark 具有解析大多数协议标头的过滤器,并且肯定会识别 UDP、IP、以太网等标头。我不确定您想通过日志记录完成什么,但如果文件的格式很重要(即,甚至不应该将标头存储到文件中),您可以尝试使用 UDP 代理。

使用 netcat,你可以做类似的事情

nc -u -l 12345 | tee mydumpfile.out | nc -u target.example.com 12345

你也必须做相反的事情来转储双向通信。如果您这样做是为了进行逆向工程,您可能还需要编辑/etc/hosts文件以将目标 DNS 名称指向localhost. 我为 TCP 连接做了几次,但我没有为 UDP 尝试它,由于管道数据的缓冲,可能存在数据包边界等问题。

如果您想要最大程度的控制,请自己编写(如果您使用例如Python+Twisted则只有十几行)

于 2012-07-30T09:45:01.200 回答