scapy.contrib.eigrp
EIGRP Scapy Extension
- version:
2009-08-13
- e-mail:
:TODO
- Replace TLV code with a more generic solution
Write function for calculating authentication data
- Thanks:
- TLV code derived from the CDP implementation of scapy. (Thanks to Nicolas Bareil and Arnaud Ebalard)
IOS / EIGRP Version Representation FIX by Dirk Loss
- class scapy.contrib.eigrp.EIGRP(_pkt, /, *, ver=2, opcode=5, chksum=None, flags=<Flag 0 ()>, seq=0, ack=0, asn=100, tlvlist=[])[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VER | OPCODE | CHKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ACK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ASN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TLVLIST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRP
EIGRP fields ver
2
opcode
5
chksum
None
flags
<Flag 0 ()>
seq
0
ack
0
asn
100
tlvlist
[]
- class scapy.contrib.eigrp.EIGRPAuthData(_pkt, /, *, type=2, len=None, authtype=2, keysize=None, keyid=1, nullpad=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', authdata=<RandString>)[source]
Bases:
EIGRPGeneric
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTHTYPE | KEYSIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEYID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NULLPAD | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTHDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRPAuthData
EIGRPAuthData fields type
2
len
None
authtype
2
keysize
None
keyid
1
nullpad
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
authdata
<RandString>
- class scapy.contrib.eigrp.EIGRPExtRoute(_pkt, /, *, type=259, len=None, nexthop='192.168.0.0', originrouter='192.168.0.1', originasn=0, tag=0, externalmetric=0, reserved=0, extprotocolid=3, flags=<Flag 0 ()>, delay=0, bandwidth=256, mtu=1500, hopcount=0, reliability=255, load=0, reserved2=0, prefixlen=24, dst='192.168.1.0')[source]
Bases:
EIGRPGeneric
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NEXTHOP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ORIGINROUTER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ORIGINASN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EXTERNALMETRIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | EXTPROTOCOLID | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DELAY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BANDWIDTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HOPCOUNT | RELIABILITY | LOAD | RESERVED2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | PREFIXLEN | DST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRPExtRoute
EIGRPExtRoute fields type
259
len
None
nexthop
'192.168.0.0'
originrouter
'192.168.0.1'
originasn
0
tag
0
externalmetric
0
reserved
0
extprotocolid
3
flags
<Flag 0 ()>
delay
0
bandwidth
256
mtu
1500
hopcount
0
reliability
255
load
0
reserved2
0
prefixlen
24
dst
'192.168.1.0'
- class scapy.contrib.eigrp.EIGRPGeneric(_pkt, /, *, type=0, len=None, value=b'\x00')[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRPGeneric
EIGRPGeneric fields type
0
len
None
value
b'\x00'
- class scapy.contrib.eigrp.EIGRPIntRoute(_pkt, /, *, type=258, len=None, nexthop='192.168.0.0', delay=128000, bandwidth=256, mtu=1500, hopcount=0, reliability=255, load=0, reserved=0, prefixlen=24, dst='192.168.1.0')[source]
Bases:
EIGRPGeneric
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NEXTHOP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DELAY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BANDWIDTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HOPCOUNT | RELIABILITY | LOAD | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | PREFIXLEN | DST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRPIntRoute
EIGRPIntRoute fields type
258
len
None
nexthop
'192.168.0.0'
delay
128000
bandwidth
256
mtu
1500
hopcount
0
reliability
255
load
0
reserved
0
prefixlen
24
dst
'192.168.1.0'
- class scapy.contrib.eigrp.EIGRPNms(_pkt, /, *, type=5, len=8, nms=2)[source]
Bases:
EIGRPGeneric
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRPNms
EIGRPNms fields type
5
len
8
nms
2
- class scapy.contrib.eigrp.EIGRPParam(_pkt, /, *, type=1, len=12, k1=1, k2=0, k3=1, k4=0, k5=0, reserved=0, holdtime=15)[source]
Bases:
EIGRPGeneric
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | K1 | K2 | K3 | K4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | K5 | RESERVED | HOLDTIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRPParam
EIGRPParam fields type
1
len
12
k1
1
k2
0
k3
1
k4
0
k5
0
reserved
0
holdtime
15
- class scapy.contrib.eigrp.EIGRPSeq(_pkt, /, *, type=3, len=None, addrlen=4, ipaddr='192.168.0.1', ip6addr='2001::')[source]
Bases:
EIGRPGeneric
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDRLEN | IPADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | IP6ADDR | +-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. EIGRPSeq
EIGRPSeq fields type
3
len
None
addrlen
4
ipaddr
IPField
(Cond)'192.168.0.1'
ip6addr
IP6Field
(Cond)'2001::'
- class scapy.contrib.eigrp.EIGRPStub(_pkt, /, *, type=6, len=6, flags=<Flag 13 (connected+summary+receive-only)>)[source]
Bases:
EIGRPGeneric
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRPStub
EIGRPStub fields type
6
len
6
flags
<Flag 13 (connected+summary+receive-only)>
- class scapy.contrib.eigrp.EIGRPSwVer(_pkt, /, *, type=4, len=8, ios=3072, eigrp=258)[source]
Bases:
EIGRPGeneric
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IOS | EIGRP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRPSwVer
EIGRPSwVer fields type
4
len
8
ios
3072
eigrp
258
- class scapy.contrib.eigrp.EIGRPv6ExtRoute(_pkt, /, *, type=1027, len=None, nexthop='::', originrouter='192.168.0.1', originasn=0, tag=0, externalmetric=0, reserved=0, extprotocolid=3, flags=<Flag 0 ()>, delay=0, bandwidth=256000, mtu=1500, hopcount=1, reliability=0, load=1, reserved2=0, prefixlen=8, dst='::')[source]
Bases:
EIGRPGeneric
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NEXTHOP | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ORIGINROUTER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ORIGINASN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EXTERNALMETRIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | EXTPROTOCOLID | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DELAY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BANDWIDTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HOPCOUNT | RELIABILITY | LOAD | RESERVED2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | PREFIXLEN | DST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRPv6ExtRoute
EIGRPv6ExtRoute fields type
1027
len
None
nexthop
'::'
originrouter
'192.168.0.1'
originasn
0
tag
0
externalmetric
0
reserved
0
extprotocolid
3
flags
<Flag 0 ()>
delay
0
bandwidth
256000
mtu
1500
hopcount
1
reliability
0
load
1
reserved2
0
prefixlen
8
dst
'::'
- class scapy.contrib.eigrp.EIGRPv6IntRoute(_pkt, /, *, type=1026, len=None, nexthop='::', delay=128000, bandwidth=256000, mtu=1500, hopcount=1, reliability=255, load=0, reserved=0, prefixlen=16, dst='2001::')[source]
Bases:
EIGRPGeneric
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NEXTHOP | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DELAY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BANDWIDTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HOPCOUNT | RELIABILITY | LOAD | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | PREFIXLEN | DST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIGRPv6IntRoute
EIGRPv6IntRoute fields type
1026
len
None
nexthop
'::'
delay
128000
bandwidth
256000
mtu
1500
hopcount
1
reliability
255
load
0
reserved
0
prefixlen
16
dst
'2001::'
- class scapy.contrib.eigrp.EigrpIP6Field(name, default, length=None, length_from=None)[source]
-
This is a special field type for handling ip addresses of destination networks in internal and external route updates.
- length_from
- class scapy.contrib.eigrp.EigrpIPField(name, default, length=None, length_from=None)[source]
-
This is a special field type for handling ip addresses of destination networks in internal and external route updates.
EIGRP removes zeros from the host portion of the ip address if the netmask is 8, 16 or 24 bits.
- length_from
- class scapy.contrib.eigrp.ShortVersionField(name: str, default: int | None)[source]
Bases:
ShortField