Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

packet dumpをする

こいつがなければ何も出来ません。
探したけど自分で書くしかないのかなあと。
あんましなさそう(?)なので晒しておく。

def dump_packet(data):

    def isAscii(data):
        if data.isalnum():
            return data
        return '.'

    print "method call: %s \npacket dump" % sys._getframe(2).f_code.co_name
    print "-" * 88
    dump_data = [data[i:i+16] for i in xrange(len(data)) if i%16 == 0]
    for d in dump_data:
      print ' '.join(map(lambda x:"%02X" % ord(x), d)) + \
                 '   ' * (16 - len(d)) + ' ' * 2 + ' '.join(map(lambda x:"%s" % isAscii(x), d))
    print "-" * 88
    print ""

まあもっと短く書けるのかも知れないけども。
結果

method call: _query
packet dump
----------------------------------------------------------------------------------------
01 00 00 01 04 2A 00 00 02 03 64 65 66 06 73 61  . . . . . . . . . . d e f . s a
6D 70 6C 65 05 75 73 65 72 73 05 75 73 65 72 73  m p l e . u s e r s . u s e r s
02 69 64 02 69 64 0C 3F 00 0B 00 00 00 03 03 42  . i d . i d . . . . . . . . . B
00 00 00 2E 00 00 03 03 64 65 66 06 73 61 6D 70  . . . . . . . . d e f . s a m p
6C 65 05 75 73 65 72 73 05 75 73 65 72 73 04 6E  l e . u s e r s . u s e r s . n
61 6D 65 04 6E 61 6D 65 0C 21 00 96 00 00 00 FD  a m e . n a m e . . . . . . . .
00 00 00 00 00 36 00 00 04 03 64 65 66 06 73 61  . . . . . 6 . . . . d e f . s a
6D 70 6C 65 05 75 73 65 72 73 05 75 73 65 72 73  m p l e . u s e r s . u s e r s
08 66 75 6C 6C 6E 61 6D 65 08 66 75 6C 6C 6E 61  . f u l l n a m e . f u l l n a
6D 65 0C 21 00 96 00 00 00 FD 00 00 00 00 00 36  m e . . . . . . . . . . . . . 6
00 00 05 03 64 65 66 06 73 61 6D 70 6C 65 05 75  . . . . d e f . s a m p l e . u
73 65 72 73 05 75 73 65 72 73 08 70 61 73 73 77  s e r s . u s e r s . p a s s w
6F 72 64 08 70 61 73 73 77 6F 72 64 0C 21 00 96  o r d . p a s s w o r d . . . .
00 00 00 FD 00 00 00 00 00 05 00 00 06 FE 00 00  . . . . . . . . . . . . . . . .
22 00 1C 00 00 07 01 31 03 62 61 72 09 62 61 72  . . . . . . . 1 . b a r . b a r
20 4A 6F 6E 65 73 0B 62 61 72 70 61 73 73 77 6F  . J o n e s . b a r p a s s w o
72 64 1F 00 00 08 01 32 04 62 61 72 32 0A 62 61  r d . . . . . 2 . b a r 2 . b a
72 32 20 4A 6F 6E 65 73 0C 62 61 72 32 70 61 73  r 2 . J o n e s . b a r 2 p a s
73 77 6F 72 64 1F 00 00 09 01 33 04 62 61 72 32  s w o r d . . . . . 3 . b a r 2
0A 62 61 72 32 20 4A 6F 6E 65 73 0C 62 61 72 32  . b a r 2 . J o n e s . b a r 2
70 61 73 73 77 6F 72 64 05 00 00 0A FE 00 00 22  p a s s w o r d . . . . . . . .
00                                               .
----------------------------------------------------------------------------------------

貼り付けるとなんかずれるな。。。。。