blob: 7de9dd30681a3e5f97e03124b90a1ac8dcb36ba1 [file] [log] [blame]
+ BFD
= BFD, basic instantiation
from scapy.contrib.bfd import *
a = UDP(sport=3784, dport=3784)/BFD()
assert raw(a) == b'\x0e\xc8\x0e\xc8\x00 \x00\x00 \xc0\x03\x18\x11\x11\x11\x11"""";\x9a\xca\x00;\x9a\xca\x00;\x9a\xca\x00'
= BFD - dissection
assert BFD in UDP(raw(a))
= BFD with OptionalAuth [Simple Password Auth] [dissection]
p = UDP(b'\x04\x00\x0e\xc8\x00\x29\x72\x31\x20\x44\x05\x21\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0f\x42\x40\x00\x0f\x42\x40\x00\x00\x00\x00\x01\x09\x02\x73\x65\x63\x72\x65\x74\x4e\x0a\x90\x40')
assert(isinstance(p[1], BFD))
assert(p[1].len == 33)
assert(isinstance(p[2], OptionalAuth))
assert(p[2].auth_type == 1)
assert(p[2].auth_len == 9)
= BFD with OptionalAuth [Keyed MD5 Auth] [dissection]
p = UDP(b'\x04\x00\x0e\xc8\x00\x38\x6a\xcc\x20\x44\x05\x30\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0f\x42\x40\x00\x0f\x42\x40\x00\x00\x00\x00\x02\x18\x02\x00\x00\x00\x00\x05\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16\x3c\xc3\xf8\x21')
assert(isinstance(p[1], BFD))
assert(p[1].len == 48)
assert(isinstance(p[2], OptionalAuth))
assert(p[2].auth_type ==2)
assert(p[2].auth_len == 24)
= BFD with OptionalAuth [Meticulous Keyed SHA1 Auth] [dissection]
p = UDP(b'\x04\x00\x0e\xc8\x00\x3c\x37\x8a\x20\x44\x05\x34\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0f\x42\x40\x00\x0f\x42\x40\x00\x00\x00\x00\x05\x1c\x02\x00\x00\x00\x00\x05\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\xea\x6d\x1f\x21')
assert(isinstance(p[1], BFD))
assert(p[1].len == 52)
assert(isinstance(p[2], OptionalAuth))
assert(p[2].auth_type ==5)
assert(p[2].auth_len == 28)
= BFD with OptionalAuth [Simple Password Auth] [Build]
p = UDP(sport=3784, dport=3784)/BFD(flags="A", optional_auth=OptionalAuth(auth_type=1))
assert raw(p) == b'\x0e\xc8\x0e\xc8\x00+\x00\x00 \xc4\x03#\x11\x11\x11\x11"""";\x9a\xca\x00;\x9a\xca\x00;\x9a\xca\x00\x01\x0b\x01password'
= BFD with OptionalAuth [Keyed MD5 Auth] [Build]
p = UDP(sport=3784, dport=3784)/BFD(flags="A", optional_auth=OptionalAuth(auth_type=2))
assert raw(p) == b'\x0e\xc8\x0e\xc8\x008\x00\x00 \xc4\x030\x11\x11\x11\x11"""";\x9a\xca\x00;\x9a\xca\x00;\x9a\xca\x00\x02\x18\x01\x00\x00\x00\x00\x00_M\xcc;Z\xa7e\xd6\x1d\x83\'\xde\xb8\x82\xcf\x99'
= BFD with OptionalAuth [Meticulous Keyed SHA1 Auth] [Build]
p = UDP(sport=3784, dport=3784)/BFD(flags="A", optional_auth=OptionalAuth(auth_type=5))
assert raw(p) == b'\x0e\xc8\x0e\xc8\x00<\x00\x00 \xc4\x034\x11\x11\x11\x11"""";\x9a\xca\x00;\x9a\xca\x00;\x9a\xca\x00\x05\x1c\x01\x00\x00\x00\x00\x00[\xaaa\xe4\xc9\xb9??\x06\x82%\x0bl\xf83\x1b~\xe6\x8f\xd8'