Получить строку информации из пакета scapy
Я использую scapy 2.3.1-dev неинтерактивно (то есть как библиотеку) в инструменте, который я создаю. Я хотел бы получить строку удобочитаемой информации о пакете, например, изscapy.all.Packet.show()
, Я попытался использовать все три метода (packet.show()
, packet.show2()
а такжеpacket.display()
), которые предоставляют информацию, но ни один из них ничего не возвращает, вместо этого они распечатывают информацию, которую я хочу.
Также информация, возвращаемаяpacket.__repr__()
не совсем достаточно.
Существуют ли какие-либо функции / методы, которые возвращали бы красиво отформатированный текст так же, как, например,packet.show()
печатает их? Если нет, то есть ли какой-нибудь способ захвата / перехвата выводаshow()
до того, как он будет напечатан на консоли?
Я знаю, что могу сделать свой собственный стринг и форматирование, используя информацию изpacket.fields
, но я пытаюсь избежать необходимости делать это.