Поиск гекса в пакете scapy - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь найти шестнадцатеричную последовательность в полезной нагрузке UDP (ISAKMP) пакета.пакет загружается из pcap.Если я использую show () или show2 (), то выходные данные будут в байтах типа, которые я не могу использовать.

самое близкое, что я пришел, это использование hexdump, но оно получается как 3 столбца по нескольким строками мне просто нужен средний столбец в красивой длинной строке.

Я пробовал hexlify, кодирование и декодирование и .format, и я не могу получить что-то, что имеет смысл.

спасибоза вашу помощь

1 Ответ

0 голосов
/ 25 мая 2018

Вы можете использовать hexlify в сочетании с str.Ниже приведен пример с пакетом TCP.Вы можете использовать то же самое для UDP.

>>> pkt = sniff(filter="tcp", count=1)
>>> pkt.show()
0000 Ether / IP / TCP 27.59.126.209:cardbox > 14.139.134.39
ssh A
>>> from binascii import hexlify
>>> pktHex = hexlify(str(pkt[0]))
>>> pktHex
'7446a0afb96508357101e52508004568003483f24000340693ab1b3b7e
10e8b86270c2100167f687368446b8086801001a7a33100000101080a00
e0b1b1dddb5f6'
>>> hexdump(pkt[0])
0000  7446A0AFB96508357101E52508004568 tF...e.5q..%..Eh
0010  003483F24000340693AB1B3B7ED10E8B .4..@.4....;~...
0020  86270C2100167F687368446B80868010 .'.!...hshDk....
0030  01A7A33100000101080A003E0B1B1DDD ...1.......>....
0040  B5F6                             ..

Ваше требование hexlify(str(pkt[0])).

...