У меня возникают проблемы с использованием необработанных данных. Я пытаюсь изменить вокругresp_cookie в моем заголовке ISAKMP, и когда я делаю sniff в пакете, все это в формате необработанных данных под Raw Load='\x00\x43\x01........... '
примерно с тремя строками. Когда я делаю захват Wireshark, я вижу информацию, которую хочу изменить, но я не могу найти способ конвертировать и изменять эти необработанные данные, чтобы найти и заменить информацию, которую я ищу. Кроме того, я могу видеть информацию, которая мне нужна, когда я делаю hexdump()
, но я не могу сохранить это в переменной. когда я набираю i = hexdump(pkt)
, он выплескивает hexdump, но не сохраняет hexdump в i
.Обработка необработанных данных Scapy
ответ
Так что этот пост немного старый, но я столкнулся с ним дюжину или около того, пытаясь найти ответ на аналогичную проблему, которую я испытываю. Я сомневаюсь, что у OP больше нет необходимости в ответе, но если кто-то еще хочет сделать что-то подобное ... здесь вы идете!
Я нашел следующий фрагмент кода где-то в глубоких, темных глубинах Google, и это сработало для моей ситуации.
Hexdump(), show() и другие методы Scapy просто выводят пакет на терминал/консоль; они фактически не возвращают строку или какой-либо другой вид объекта. Таким образом, вам нужен способ перехвата данных, которые он намеревается написать, и поместить их в переменную, которой нужно манипулировать.
ПРИМЕЧАНИЕ: ЭТО ПИТОН 3.X и SCAPY 3K
import io
import scapy
#generic scapy sniff
sniff(iface=interface,prn=parsePacket, filter=filter)
С описанным выше способом нюхать, вы будете хотеть сделать следующее.
def parsePacket(packet):
outputPacket = ''
#setup
qsave = sys.stdout
q = io.StringIO()
#CAPTURES OUTPUT
sys.stdout = q
#Text you're capturing
packet.show()
#restore original stdout
sys.stdout = qsave
#release output
sout = q.getvalue()
#Add to string (format if need be)
outputPacket += sout + '\n'
#Close IOStream
q.close()
#return your packet
return outputPacket
Теперь вы можете изменить строку, которую вы возвращаете (outputPacket), как хотите.
Поменяйте .show() с любой функцией, которую вы сочтете нужным.
P.S. Простите меня, если это немного грубо с точки зрения Pythonic ... не python dev на любом участке.
- 1. Получение необработанных данных с помощью Scapy
- 2. Обработка большого количества необработанных запросов в android
- 3. Обработка необработанных данных электронной почты с использованием Java
- 4. Отображение scapy данных StreamSocket
- 5. Понимание структуры данных Scapy
- 6. Декодирование необработанных данных
- 7. Отображение данных необработанных изображений
- 8. Отправка необработанных данных
- 9. Добавление данных в scapy пакете
- 10. Самый низкий уровень необработанных (необработанных) данных камеры, доступных на iphone?
- 11. Подготовить дерево из необработанных данных
- 12. t-тест без необработанных данных
- 13. Печать необработанных данных в TCPDF
- 14. qt registerresource от необработанных данных
- 15. Джанго из почтовых необработанных данных
- 16. Передача необработанных данных в C++
- 17. чтение необработанных данных раздела PE32 +
- 18. Попадая тенденцию из необработанных данных
- 19. Редактирование необработанных данных привода FAT
- 20. Как создать поток необработанных данных?
- 21. Декодирование необработанных данных на Android
- 22. Номер Ack для подтверждения данных в scapy
- 23. Отправка определенных шестнадцатеричных данных с использованием scapy
- 24. scapy hexdump()
- 25. Scapy Dot11ReassoReq
- 26. Получение jpg изображения из необработанных данных фреймбуфера
- 27. Отправка необработанных данных на принтер метки FedEx
- 28. libxml - Загрузить xmlDoc из необработанных данных
- 29. определить уровень звука в необработанных данных pcm
- 30. Создание UIImage из необработанных данных RGBA
Добро пожаловать в StackOverflow. Обязательно прочитайте [About] (http://stackoverflow.com/about) и получите свой первый значок! Вы также узнаете больше о задании твердых вопросов. – RyPeck