2017-10-04 8 views
0

キャプチャファイルからMySQLサーバーグリーティング(およびクライアント応答、後で)パケットを解析しようとしています。私はIPとTCPヘッダーを見ることができますが、MySQLヘッダーはScapyによって生のままです。Scapyを使用したMySQLヘッダー解析

質問はこの生データから塩をどのように得ることができますか?

これは私がWiresharkの(TCPヘッダは省略)に持っているものです。

MySQL Protocol 
Packet Length: 52 
Packet Number: 0 
Server Greeting 
    Protocol: 10 
    Version: 5.0.54 
    Thread ID: 94 
    Salt: >~$4uth, 
    Server Capabilities: 0xa22c 
    Server Language: utf8 COLLATE utf8_general_ci (33) 
    Server Status: 0x0002 
    Extended Server Capabilities: 0x0000 
    Authentication Plugin Length: 0 
    Unused: 00000000000000000000 
    Salt: >612IWZ>fhWX 

、これはScapyが私を与えるものである:

###[ TCP ]### 
     sport  = mysql 
     dport  = 56162 
     seq  = 3442775512 
     ack  = 3436755790 
     dataofs = 8 
     reserved = 0 
     flags  = PA 
     window = 512 
     chksum = 0x83ab 
     urgptr = 0 
     options = [('NOP', None), ('NOP', None), ('Timestamp', (15785614, 15785614))] 
###[ Raw ]### 
      load  = b'4\x00\x00\x00\n5.0.54\x00^\x00\x00\x00>~$4uth,\x00,\xa2!\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>612IWZ>fhWX\x00' 

あなたは、私が見ることができるようにTCPが示されている見ることができるようにWiresharkでは、しかしMySQLのペイロードは生のままです。

これを解析する方法についてのご意見はありますか? (または、MySQLの各フィールドのサイズはどれくらいですか?各フィールドの長さを知っていれば、それだけを実行して適切なデータを読むことができます)。

+0

Wiresharkでは、特定された各MySQLフィールドをクリックすると、そのオフセットとサイズが表示されません(16進ペイロードの対応するバイトが下に表示されます)。 – pchaigno

答えて