Sniffing and displaying TCP packets in UTF-8

后端 未结 3 1672
一生所求
一生所求 2021-02-09 12:23

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 op

3条回答
  •  夕颜
    夕颜 (楼主)
    2021-02-09 13:17

    Make sure your terminal supports outputting UTF-8 and pipe the output to something which replaces non printable characters:

    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
    

    If your terminal does not support UTF-8 you have to convert the output to a supported encoding . E.g.:

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

    -c option tells iconv to omit character which does not have valid representation in the target encoding.

提交回复
热议问题