Есть ли другой способ, которым я мог бы использовать Scapy для настройки пакета с несколькими атрибутами флага?Scapy BGP Flags Атрибут
Я пытаюсь настроить BGP-слой как с необязательными, так и с переходными атрибутами. Я использую этот файл github: https://github.com/levigross/Scapy/blob/master/scapy/contrib/bgp.py. В строке 107 находятся флаги, которые я пытаюсь добавить.
Прошлые неудачные попытки включают в себя:
>>>a=BGPPathAttribute(flags=["Optional","Transitive"])
>>>send(a)
TypeError: unsupported operand type(s) for &: 'str' and 'int'
>>>a=BGPPathAttribute(flags=("Optional","Transitive"))
>>>send(a)
TypeError: unsupported operand type(s) for &: 'tuple' and 'int'
>>>a=BGPPathAttribute(flags="Optional")/BGPPathAttribute(flags="Transitive")
Creates 2 separate path attributes: One which is Optional and Non-Transitive and the other which is Well Known and Transitive.
>>>a=BGPPathAttribute(flags="Optional", flags="Transitive")
SyntaxError: keyword argument repeated
>>>a=BGPPathAttribute(flags="OT")
ValueError: ['OT'] is not in list
Спасибо, я нашел другой способ на случай, если вам любопытно, flags = 192 устанавливает его как для опциональных, так и для транзитивных. –
Я забыл упомянуть об этом, так как я не считаю его элегантным, но теперь я включил его для полноты; Благодаря! – Yoel