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 = [<class 'scapy.contrib.eigrp.EIGRP'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.contrib.eigrp.EIGRPAuthData'>, <class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (EIGRPAuthData).type>, <FieldLenField (EIGRPAuthData).len>, <ShortEnumField (EIGRPAuthData).authtype>, <ShortField (EIGRPAuthData).keysize>, <IntField (EIGRPAuthData).keyid>, <StrFixedLenField (EIGRPAuthData).nullpad>, <StrLenField (EIGRPAuthData).authdata>]
- 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 = [<class 'scapy.contrib.eigrp.EIGRPExtRoute'>, <class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (EIGRPExtRoute).type>, <FieldLenField (EIGRPExtRoute).len>, <IPField (EIGRPExtRoute).nexthop>, <IPField (EIGRPExtRoute).originrouter>, <IntField (EIGRPExtRoute).originasn>, <IntField (EIGRPExtRoute).tag>, <IntField (EIGRPExtRoute).externalmetric>, <ShortField (EIGRPExtRoute).reserved>, <ByteEnumField (EIGRPExtRoute).extprotocolid>, <FlagsField (EIGRPExtRoute).flags>, <IntField (EIGRPExtRoute).delay>, <IntField (EIGRPExtRoute).bandwidth>, <ThreeBytesField (EIGRPExtRoute).mtu>, <ByteField (EIGRPExtRoute).hopcount>, <ByteField (EIGRPExtRoute).reliability>, <ByteField (EIGRPExtRoute).load>, <XShortField (EIGRPExtRoute).reserved2>, <ByteField (EIGRPExtRoute).prefixlen>, <EigrpIPField (EIGRPExtRoute).dst>]
- class scapy.contrib.eigrp.EIGRPGeneric(_pkt, /, *, type=0, len=None, value=b'\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.contrib.eigrp.EIGRPIntRoute'>, <class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (EIGRPIntRoute).type>, <FieldLenField (EIGRPIntRoute).len>, <IPField (EIGRPIntRoute).nexthop>, <IntField (EIGRPIntRoute).delay>, <IntField (EIGRPIntRoute).bandwidth>, <ThreeBytesField (EIGRPIntRoute).mtu>, <ByteField (EIGRPIntRoute).hopcount>, <ByteField (EIGRPIntRoute).reliability>, <ByteField (EIGRPIntRoute).load>, <XShortField (EIGRPIntRoute).reserved>, <ByteField (EIGRPIntRoute).prefixlen>, <EigrpIPField (EIGRPIntRoute).dst>]
- class scapy.contrib.eigrp.EIGRPNms(_pkt, /, *, type=5, len=8, nms=2)[source]
Bases:
EIGRPGeneric- aliastypes = [<class 'scapy.contrib.eigrp.EIGRPNms'>, <class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.contrib.eigrp.EIGRPParam'>, <class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (EIGRPParam).type>, <ShortField (EIGRPParam).len>, <ByteField (EIGRPParam).k1>, <ByteField (EIGRPParam).k2>, <ByteField (EIGRPParam).k3>, <ByteField (EIGRPParam).k4>, <ByteField (EIGRPParam).k5>, <ByteField (EIGRPParam).reserved>, <ShortField (EIGRPParam).holdtime>]
- class scapy.contrib.eigrp.EIGRPSeq(_pkt, /, *, type=3, len=None, addrlen=4, ipaddr='192.168.0.1', ip6addr='2001::')[source]
Bases:
EIGRPGeneric- aliastypes = [<class 'scapy.contrib.eigrp.EIGRPSeq'>, <class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.eigrp.EIGRPStub(_pkt, /, *, type=6, len=6, flags=<Flag 13 (connected+summary+receive-only)>)[source]
Bases:
EIGRPGeneric- aliastypes = [<class 'scapy.contrib.eigrp.EIGRPStub'>, <class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.eigrp.EIGRPSwVer(_pkt, /, *, type=4, len=8, ios=3072, eigrp=258)[source]
Bases:
EIGRPGeneric- aliastypes = [<class 'scapy.contrib.eigrp.EIGRPSwVer'>, <class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.contrib.eigrp.EIGRPv6ExtRoute'>, <class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (EIGRPv6ExtRoute).type>, <FieldLenField (EIGRPv6ExtRoute).len>, <IP6Field (EIGRPv6ExtRoute).nexthop>, <IPField (EIGRPv6ExtRoute).originrouter>, <IntField (EIGRPv6ExtRoute).originasn>, <IntField (EIGRPv6ExtRoute).tag>, <IntField (EIGRPv6ExtRoute).externalmetric>, <ShortField (EIGRPv6ExtRoute).reserved>, <ByteEnumField (EIGRPv6ExtRoute).extprotocolid>, <FlagsField (EIGRPv6ExtRoute).flags>, <IntField (EIGRPv6ExtRoute).delay>, <IntField (EIGRPv6ExtRoute).bandwidth>, <ThreeBytesField (EIGRPv6ExtRoute).mtu>, <ByteField (EIGRPv6ExtRoute).hopcount>, <ByteField (EIGRPv6ExtRoute).reliability>, <ByteField (EIGRPv6ExtRoute).load>, <XShortField (EIGRPv6ExtRoute).reserved2>, <ByteField (EIGRPv6ExtRoute).prefixlen>, <EigrpIP6Field (EIGRPv6ExtRoute).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 = [<class 'scapy.contrib.eigrp.EIGRPv6IntRoute'>, <class 'scapy.contrib.eigrp.EIGRPGeneric'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (EIGRPv6IntRoute).type>, <FieldLenField (EIGRPv6IntRoute).len>, <IP6Field (EIGRPv6IntRoute).nexthop>, <IntField (EIGRPv6IntRoute).delay>, <IntField (EIGRPv6IntRoute).bandwidth>, <ThreeBytesField (EIGRPv6IntRoute).mtu>, <ByteField (EIGRPv6IntRoute).hopcount>, <ByteField (EIGRPv6IntRoute).reliability>, <ByteField (EIGRPv6IntRoute).load>, <XShortField (EIGRPv6IntRoute).reserved>, <ByteField (EIGRPv6IntRoute).prefixlen>, <EigrpIP6Field (EIGRPv6IntRoute).dst>]
- 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