Макет заголовка пакета ICMP

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

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

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


person John Kim    schedule 31.03.2016    source источник
comment
Прочитать документацию Python для struct.unpack?   -  person Barmar    schedule 31.03.2016
comment
Ничего, разобрался. Не думал смотреть на символы стандартного формата Python.   -  person John Kim    schedule 31.03.2016


Ответы (1)


Код использует модуль Python struct для декодирования заголовка. Символы формата задокументированы в документации модуля.

person NPE    schedule 31.03.2016