2016-03-31 3 views
0

Я работаю над назначением ICMP pinging, и я пытаюсь понять скелетный код, который мне дал.ICMP Packet header layout

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

Я знаю, что этот сегмент разбирает пакет, чтобы захватить ICMP заголовок и распаковывает заголовок в типе переменных, код, контрольную сумму, packetID, последовательность. Я также понимаю, что «bbHHh» обозначает компоновку заголовка пакета. Мой вопрос в том, где я могу найти информацию для макета? Я знаю, что «H» означает unsigned short (16), но я не знаю, что означает «b» или «h». Где я могу получить эту информацию?

+0

Прочитайте документацию Python для 'struct.unpack'? – Barmar

+0

Ничего, подумал. Не думал смотреть на символы стандартного формата Python. –

ответ

0

В коде используется модуль Pдля декодирования заголовка. Символы формата документируются в module's documentation.