7

I am trying to use tcpdump to display the content of tcp packets flowing on my network. I have something like:

tcpdump -i wlan0 -l -A

The -A option displays the content as ASCII text, but my text seems to be UTF-8. Is there a way to display UTF-8 properly using tcpdump? Do you know any other tools which could help?

Many thanks

4

3 回答 3

5

确保您的终端支持输出 UTF-8 并将输出通过管道传输到替换不可打印字符的内容:

tcpdump -lnpi lo tcp port 80 -s 16000 -w - | tr -t '[^[:print:]]' ''
tcpdump -lnpi lo tcp port 80 -s 16000 -w - | strings -e S -n 1

如果您的终端不支持 UTF-8,您必须将输出转换为支持的编码。例如:

tcpdump -lnpi lo tcp port 80 -s 16000 -w - | tr -t '[^[:print:]]' '' | iconv -c -f utf-8 -t cp1251

-c选项告诉iconv省略在目标编码中没有有效表示的字符。

于 2012-04-25T12:00:09.777 回答
1
tcpdump -i wlan0 -w packet.ppp

此命令将数据包存储在 packet.ppp

之后在wireshark中打开它

wireshark packet.ppp

右键单击数据包,然后选择 Follow tcp packet

然后你可以有不同的格式来查看wireshark中的数据。

于 2011-07-19T06:59:16.473 回答
0

您可以探索许多选项来嗅探数据包。

Wireshark 是最有用的嗅探器,它可在所有平台上免费使用。它有一个功能丰富的 GUI,可以帮助您嗅探数据包和分析协议。它有许多过滤器,因此您可以过滤掉不需要的数据包,只查看您感兴趣的数据包。查看他们的网页:可用于 Windows 和 OS X 下载

要下载 Linux 发行版,请查看此链接

如果您更喜欢 tcpdump 的替代解决方案,您还可以探索 tcpflow,这绝对是分析数据包的好选择。它还为您提供了存储文件以供以后分析的选项。检查此链接:tcpflow

另一个选择是Justsniffer

这可能最好地解决您的问题并为您提供文本模式日志记录并且是可定制的。

于 2011-05-12T15:20:37.303 回答