2016-03-31 27 views
0

Ich arbeite an einer ICMP-Ping-Zuweisung und ich versuche, den Skelett-Code zu verstehen, der mir gegeben wurde.ICMP Packet-Header-Layout

icmpHeader=recPacket[20:28] 
type,code,checksum,packetID,sequence=struct.unpack("bbHHh",icmpHeader) 

Ich weiß, das Segment, das Paket parst den ICMP-Header und dekomprimiert den Header in die Variablen-Typ, Code, Prüfsumme, packetID, Sequenz zu greifen. Ich verstehe auch, dass "bbHHh" das Layout des Paketheaders bezeichnet. Meine Frage ist, wo finde ich Informationen für das Layout? Ich weiß, "H" steht für unsigned short (16), aber ich weiß nicht, wofür "b" oder "h" steht. Woher bekomme ich diese Informationen?

+0

Lesen Sie die Python-Dokumentation für 'struct.unpack'? – Barmar

+0

Macht nichts, fand es heraus. Ich dachte nicht daran, Pythons Standardformat-Zeichen zu betrachten. –

Antwort

0

Der Code verwendet Pythons struct-Modul zum Dekodieren der Kopfzeile. Die Formatzeichen sind in der module's documentation dokumentiert.