scapy.contrib.cdp

Cisco Discovery Protocol (CDP) extension for Scapy

class scapy.contrib.cdp.CDPAddrRecord(_pkt, /, *, ptype=1, plen=None, proto=None, addrlen=None, addr=None)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.cdp.CDPAddrRecord'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (CDPAddrRecord).ptype>, <FieldLenField (CDPAddrRecord).plen>, <StrLenField (CDPAddrRecord).proto>, <FieldLenField (CDPAddrRecord).addrlen>, <StrLenField (CDPAddrRecord).addr>]
guess_payload_class(p)[source]
class scapy.contrib.cdp.CDPAddrRecordIPv4(_pkt, /, *, ptype=1, plen=1, proto=b'\xcc', addrlen=4, addr='0.0.0.0')[source]

Bases: CDPAddrRecord

aliastypes = [<class 'scapy.contrib.cdp.CDPAddrRecordIPv4'>, <class 'scapy.contrib.cdp.CDPAddrRecord'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (CDPAddrRecordIPv4).ptype>, <FieldLenField (CDPAddrRecordIPv4).plen>, <StrLenField (CDPAddrRecordIPv4).proto>, <ShortField (CDPAddrRecordIPv4).addrlen>, <IPField (CDPAddrRecordIPv4).addr>]
class scapy.contrib.cdp.CDPAddrRecordIPv6(_pkt, /, *, ptype=2, plen=8, proto=b'\xaa\xaa\x03\x00\x00\x00\x86\xdd', addrlen=16, addr='::1')[source]

Bases: CDPAddrRecord

aliastypes = [<class 'scapy.contrib.cdp.CDPAddrRecordIPv6'>, <class 'scapy.contrib.cdp.CDPAddrRecord'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (CDPAddrRecordIPv6).ptype>, <FieldLenField (CDPAddrRecordIPv6).plen>, <StrLenField (CDPAddrRecordIPv6).proto>, <ShortField (CDPAddrRecordIPv6).addrlen>, <IP6Field (CDPAddrRecordIPv6).addr>]
class scapy.contrib.cdp.CDPIPPrefix(_pkt, /, *, prefix='192.168.0.1', plen=24)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.cdp.CDPIPPrefix'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IPField (CDPIPPrefix).prefix>, <ByteField (CDPIPPrefix).plen>]
guess_payload_class(p)[source]
class scapy.contrib.cdp.CDPMsg(_pkt, /, *, type=None, len=None, val=b'')[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsg'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsg).type>, <FieldLenField (CDPMsg).len>, <StrLenField (CDPMsg).val>]
class scapy.contrib.cdp.CDPMsgAddr(_pkt, /, *, type=2, len=None, naddr=None, addr=[])[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgAddr'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgAddr,CDPMsgMgmtAddr).type>, <ShortField (CDPMsgAddr,CDPMsgMgmtAddr).len>, <FieldLenField (CDPMsgAddr,CDPMsgMgmtAddr).naddr>, <PacketListField (CDPMsgAddr,CDPMsgMgmtAddr).addr>]
post_build(pkt, pay)[source]
class scapy.contrib.cdp.CDPMsgCapabilities(_pkt, /, *, type=4, len=8, cap=<Flag 0 ()>)[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgCapabilities'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgCapabilities).type>, <ShortField (CDPMsgCapabilities).len>, <FlagsField (CDPMsgCapabilities).cap>]
class scapy.contrib.cdp.CDPMsgDeviceID(_pkt, /, *, type=1, len=None, val=b'')[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgDeviceID'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).type>, <FieldLenField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).len>, <StrLenField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).val>]
class scapy.contrib.cdp.CDPMsgDuplex(_pkt, /, *, type=11, len=5, duplex=0)[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgDuplex'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgDuplex).type>, <ShortField (CDPMsgDuplex).len>, <ByteEnumField (CDPMsgDuplex).duplex>]
class scapy.contrib.cdp.CDPMsgGeneric(_pkt, /, *, type=None, len=None, val=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).type>, <FieldLenField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).len>, <StrLenField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).val>]
guess_payload_class(p)[source]
class scapy.contrib.cdp.CDPMsgIPGateway(_pkt, /, *, type=7, len=8, defaultgw='192.168.0.1')[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgIPGateway'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgIPGateway).type>, <ShortField (CDPMsgIPGateway).len>, <IPField (CDPMsgIPGateway).defaultgw>]
class scapy.contrib.cdp.CDPMsgIPPrefix(_pkt, /, *, type=7, len=9, prefixes=[])[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgIPPrefix'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgIPPrefix).type>, <ShortField (CDPMsgIPPrefix).len>, <PacketListField (CDPMsgIPPrefix).prefixes>]
class scapy.contrib.cdp.CDPMsgMTU(_pkt, /, *, type=17, len=6, mtu=1500)[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgMTU'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgMTU).type>, <ShortField (CDPMsgMTU).len>, <ShortField (CDPMsgMTU).mtu>]
class scapy.contrib.cdp.CDPMsgMgmtAddr(_pkt, /, *, type=22, len=None, naddr=None, addr=[])[source]

Bases: CDPMsgAddr

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgMgmtAddr'>, <class 'scapy.contrib.cdp.CDPMsgAddr'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgAddr,CDPMsgMgmtAddr).type>, <ShortField (CDPMsgAddr,CDPMsgMgmtAddr).len>, <FieldLenField (CDPMsgAddr,CDPMsgMgmtAddr).naddr>, <PacketListField (CDPMsgAddr,CDPMsgMgmtAddr).addr>]
class scapy.contrib.cdp.CDPMsgNativeVLAN(_pkt, /, *, type=10, len=6, vlan=1)[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgNativeVLAN'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgNativeVLAN).type>, <ShortField (CDPMsgNativeVLAN).len>, <ShortField (CDPMsgNativeVLAN).vlan>]
class scapy.contrib.cdp.CDPMsgPlatform(_pkt, /, *, type=6, len=None, val=b'')[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgPlatform'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).type>, <FieldLenField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).len>, <StrLenField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).val>]
class scapy.contrib.cdp.CDPMsgPortID(_pkt, /, *, type=3, len=None, iface=b'Port 1')[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgPortID'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgPortID).type>, <FieldLenField (CDPMsgPortID).len>, <StrLenField (CDPMsgPortID).iface>]
class scapy.contrib.cdp.CDPMsgPower(_pkt, /, *, type=16, len=6, power=1337)[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgPower'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgPower).type>, <ShortField (CDPMsgPower).len>, <_CDPPowerField (CDPMsgPower).power>]
class scapy.contrib.cdp.CDPMsgPowerAvailable(_pkt, /, *, type=26, len=None, req_id=0, mgmt_id=0, power_available_list=[])[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgPowerAvailable'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgPowerAvailable).type>, <FieldLenField (CDPMsgPowerAvailable).len>, <ShortField (CDPMsgPowerAvailable).req_id>, <ShortField (CDPMsgPowerAvailable).mgmt_id>, <FieldListField (CDPMsgPowerAvailable).power_available_list>]
class scapy.contrib.cdp.CDPMsgPowerRequest(_pkt, /, *, type=25, len=None, req_id=0, mgmt_id=0, power_requested_list=[])[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgPowerRequest'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgPowerRequest).type>, <FieldLenField (CDPMsgPowerRequest).len>, <ShortField (CDPMsgPowerRequest).req_id>, <ShortField (CDPMsgPowerRequest).mgmt_id>, <FieldListField (CDPMsgPowerRequest).power_requested_list>]
class scapy.contrib.cdp.CDPMsgProtoHello(_pkt, /, *, type=8, len=32, oui=12, protocol_id=0, data=b'')[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgProtoHello'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgProtoHello).type>, <ShortField (CDPMsgProtoHello).len>, <OUIField (CDPMsgProtoHello).oui>, <XShortField (CDPMsgProtoHello).protocol_id>, <StrLenField (CDPMsgProtoHello).data>]
class scapy.contrib.cdp.CDPMsgSoftwareVersion(_pkt, /, *, type=5, len=None, val=b'')[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgSoftwareVersion'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).type>, <FieldLenField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).len>, <StrLenField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).val>]
class scapy.contrib.cdp.CDPMsgTrustBitmap(_pkt, /, *, type=18, len=5, trust_bitmap=0)[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgTrustBitmap'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgTrustBitmap).type>, <ShortField (CDPMsgTrustBitmap).len>, <XByteField (CDPMsgTrustBitmap).trust_bitmap>]
class scapy.contrib.cdp.CDPMsgUntrustedPortCoS(_pkt, /, *, type=19, len=5, untrusted_port_cos=0)[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgUntrustedPortCoS'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgUntrustedPortCoS).type>, <ShortField (CDPMsgUntrustedPortCoS).len>, <XByteField (CDPMsgUntrustedPortCoS).untrusted_port_cos>]
class scapy.contrib.cdp.CDPMsgVTPMgmtDomain(_pkt, /, *, type=9, len=None, val=b'')[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgVTPMgmtDomain'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).type>, <FieldLenField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).len>, <StrLenField (CDPMsgGeneric,CDPMsgDeviceID,CDPMsgSoftwareVersion,CDPMsgPlatform,CDPMsgVTPMgmtDomain).val>]
class scapy.contrib.cdp.CDPMsgVoIPVLANQuery(_pkt, /, *, type=15, len=None, unknown1=0, vlan=1, unknown2=b'')[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgVoIPVLANQuery'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgVoIPVLANQuery).type>, <FieldLenField (CDPMsgVoIPVLANQuery).len>, <XByteField (CDPMsgVoIPVLANQuery).unknown1>, <ShortField (CDPMsgVoIPVLANQuery).vlan>, <StrLenField (CDPMsgVoIPVLANQuery).unknown2>]
class scapy.contrib.cdp.CDPMsgVoIPVLANReply(_pkt, /, *, type=14, len=7, status=1, vlan=1)[source]

Bases: CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPMsgVoIPVLANReply'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (CDPMsgVoIPVLANReply).type>, <ShortField (CDPMsgVoIPVLANReply).len>, <ByteField (CDPMsgVoIPVLANReply).status>, <ShortField (CDPMsgVoIPVLANReply).vlan>]
class scapy.contrib.cdp.CDPv2_HDR(_pkt, /, *, vers=2, ttl=180, cksum=None, msg=[])[source]

Bases: _CDPChecksum, CDPMsgGeneric

aliastypes = [<class 'scapy.contrib.cdp.CDPv2_HDR'>, <class 'scapy.contrib.cdp.CDPMsgGeneric'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (CDPv2_HDR).vers>, <ByteField (CDPv2_HDR).ttl>, <XShortField (CDPv2_HDR).cksum>, <PacketListField (CDPv2_HDR).msg>]