【问题标题】:Sniffing and displaying TCP packets in UTF-8以 UTF-8 嗅探和显示 TCP 数据包
【发布时间】:2011-03-26 03:02:25
【问题描述】:

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

tcpdump -i wlan0 -l -A

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

非常感谢

【问题讨论】:

  • 你得到的输出样本到底是什么?
  • 类似的东西:“.f....vBxtlivesetQuestion-124642Dans quel d..partement se trouve la grotte de Lascaux ?NG. .ographie,politique,..conomie6"。目前我正在实施自己的过滤器来解决问题......

标签: utf-8 tcp packet sniffing tcpdump


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    tcpdump -i wlan0 -w packet.ppp
    

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

    然后在wireshark中打开它

    wireshark packet.ppp
    

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

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

    【讨论】:

      【解决方案3】:

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

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

      要下载 Linux 发行版,请查看 this link

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

      另一个选项是Justsniffer

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

      【讨论】:

      • 谢谢,但我想用 tcpdump 来做。
      猜你喜欢
      • 2020-06-06
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      • 1970-01-01
      相关资源
      最近更新 更多