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

Ale*_*uis 6 tcp sniffing utf-8 tcpdump packet

我正在尝试使用tcpdump来显示在我的网络上流动的tcp数据包的内容.我有类似的东西:

tcpdump -i wlan0 -l -A
Run Code Online (Sandbox Code Playgroud)

-A选项将内容显示为ASCII文本,但我的文本似乎是UTF-8.有没有办法使用tcpdump正确显示UTF-8?你知道其他任何有用的工具吗?

非常感谢

Del*_*tev 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
Run Code Online (Sandbox Code Playgroud)

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

tcpdump -lnpi lo tcp port 80 -s 16000 -w - | tr -t '[^[:print:]]' '' | iconv -c -f utf-8 -t cp1251
Run Code Online (Sandbox Code Playgroud)

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