在UTF-8中嗅探和显示TCP数据包

在UTF-8中嗅探和显示TCP数据包,utf-8,tcp,packet,sniffing,tcpdump,Utf 8,Tcp,Packet,Sniffing,Tcpdump,我正在尝试使用tcpdump来显示在我的网络上流动的tcp数据包的内容。 我有点像: tcpdump -i wlan0 -l -A -A选项将内容显示为ASCII文本,但我的文本似乎是UTF-8。有没有办法使用tcpdump正确显示UTF-8?你知道还有什么其他的工具可以帮助你吗 非常感谢您可以探索许多选项来嗅探数据包 Wireshark是最有用的嗅探器,它可以在所有平台上免费使用。它有一个功能丰富的GUI,可以帮助您嗅探数据包和分析协议。它有很多过滤器,所以你可以过滤掉不需要的数据包,只看你

我正在尝试使用tcpdump来显示在我的网络上流动的tcp数据包的内容。 我有点像:

tcpdump -i wlan0 -l -A
-A选项将内容显示为ASCII文本,但我的文本似乎是UTF-8。有没有办法使用tcpdump正确显示UTF-8?你知道还有什么其他的工具可以帮助你吗


非常感谢

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

Wireshark是最有用的嗅探器,它可以在所有平台上免费使用。它有一个功能丰富的GUI,可以帮助您嗅探数据包和分析协议。它有很多过滤器,所以你可以过滤掉不需要的数据包,只看你感兴趣的数据包。 请访问他们的网页:

要下载Linux发行版,请签出

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

另一个选择是

它可能最能解决您的问题,并为您提供文本模式日志记录,而且是可自定义的

tcpdump -i wlan0 -w packet.ppp
此命令将数据包存储在packet.ppp中

然后在wireshark中打开它

wireshark packet.ppp
右键单击数据包,然后选择跟随tcp数据包


然后,您可以使用不同的格式查看wireshark中的数据。

确保您的终端支持输出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
忽略目标编码中没有有效表示形式的字符。

您得到的输出样本是什么?类似于:“.f..vB
xt
live
setQuestion
-1
24642
Dans quel d..partment se trouve la grotte de Lascaux?
N
G..ographie,politique,…economie
6
”。目前,我正在实施自己的过滤器来解决这个问题……谢谢,但我想用tcpdump做到这一点。