tcpdumpの8ビット文字エスケープ

  • util.cファイルの中のfn_printzp関数で定義されている.
  • 8ビット目が1の文字は "M-" をつけ, 8ビット目を落す.
  • 印刷不可能文字のうち0x00から0x1fは "^"をつけて0x40シフトさせる. 0x09(HT)は0x49になるので "^I" など.
  • 印刷不可能文字0x7f(DEL)だけ特例で0x3fになるので"^?"と出力される. 0xffは"M-^?"
  • 0x20(スペース)から0x7e(チルダ)まではそのまま.
  • DHCPクライアント名, MDNSのPTRなどに含まれるUTF8文字等に使用されている.
  • MDNSパケット解析出力は","で区切られているが, このエスケープによりM-, という区切りではない","が出現することがある.