如何显示tcpdump捕获的utf8字符

时间:2017-06-02 02:59:13

标签: utf-8 tcpdump

我的MySQL安装在远程主机上,我通过PHP PDO与Mysql交互。我想检查我执行的SQL语句。所以我在google上搜索并使用tcpdump。这是网上的代码。

    tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | perl -e '
    while(<>) { chomp; next if /^[^ ]+[ ]*$/;
    if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL)/i) {
    if (defined $q) { print "$q\n"; }
    $q=$_;
    } else {
    $_ =~ s/^[ \t]+//; $q.=" $_";
    }
    }'

但我发现它可以显示utf8字样。 这篇文章Make sure your terminal supports outputting UTF-8 注意到我应该检查我的终端是否支持输出UTF-8。 但我的终端确实支持utf8。 我也尝试上面推荐的解决方案,但它仍然不起作用。 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 所以我想知道如何显示tcpdump捕获的utf8字符?

0 个答案:

没有答案