scapy.contrib.bgp¶
BGP (Border Gateway Protocol).
-
class
scapy.contrib.bgp.
ASPathSegmentPacketListField
(name, default, cls=None, count_from=None, length_from=None, next_cls_cb=None)¶ Bases:
scapy.fields.PacketListField
PacketListField handling AS_PATH segments.
-
getfield
(pkt, s)¶
-
-
class
scapy.contrib.bgp.
BGP
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Every BGP message inherits from this class.
-
KEEPALIVE_TYPE
= 4¶
-
NOTIFICATION_TYPE
= 3¶
-
OPEN_TYPE
= 1¶
-
ROUTEREFRESH_TYPE
= 5¶
-
UPDATE_TYPE
= 2¶
-
aliastypes
¶
-
classmethod
dispatch_hook
(_pkt=None, *args, **kargs)¶ Returns the right class for the given data.
-
guess_payload_class
(p)¶
-
-
class
scapy.contrib.bgp.
BGPAuthenticationInformation
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation of the Authentication Information optional parameter, which is now obsolete. References: RFC 1771, RFC 1654, RFC 4271
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |AUTHENTICATION | AUTHENTICATION DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPAuthenticationInformation
BGPAuthenticationInformation fields¶ authentication_code
0
authentication_data
None
-
-
class
scapy.contrib.bgp.
BGPCapFourBytesASN
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGPCapability
This class provides an implementation of the 4-octet AS number capability. References: RFC 4893
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | LENGTH | ASN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPCapFourBytesASN
BGPCapFourBytesASN fields¶ code
65
length
4
asn
0
-
match_subclass
= True¶
-
-
class
scapy.contrib.bgp.
BGPCapGeneric
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGPCapability
This class provides an implementation of a generic capability.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | LENGTH | CAP DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPCapGeneric
BGPCapGeneric fields¶ code
0
length
None
cap_data
b''
-
match_subclass
= True¶
-
-
class
scapy.contrib.bgp.
BGPCapGracefulRestart
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGPCapability
This class provides an implementation of the Graceful Restart capability. References: RFC 4724
-
class
GRTuple
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Tuple <AFI, SAFI, Flags for address family>
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI | SAFI | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GRTuple
GRTuple fields¶ afi
0
safi
0
flags
0
-
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | LENGTH |RESTART| RESTART TIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ENTRIES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPCapGracefulRestart
BGPCapGracefulRestart fields¶ code
64
length
None
restart_flags
BitField
(4 bits)0
restart_time
BitField
(12 bits)0
entries
[]
-
match_subclass
= True¶
-
class
-
class
scapy.contrib.bgp.
BGPCapMultiprotocol
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGPCapability
This class provides an implementation of the Multiprotocol capability. References: RFC 4760
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | LENGTH | AFI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | SAFI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPCapMultiprotocol
BGPCapMultiprotocol fields¶ code
1
length
4
afi
0
reserved
0
safi
0
-
match_subclass
= True¶
-
-
class
scapy.contrib.bgp.
BGPCapORF
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGPCapability
This class provides an implementation of the Outbound Route Filtering capability. References: RFC 5291
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | LENGTH | ORF | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPCapORF
BGPCapORF fields¶ code
3
length
None
orf
[]
-
match_subclass
= True¶
-
-
class
scapy.contrib.bgp.
BGPCapORFBlock
(*args, **kargs)¶ Bases:
scapy.packet.Packet
The “ORFBlock” is made of <AFI, rsvd, SAFI, Number of ORFs, and <ORF Type, Send/Receive> entries.
-
class
ORFTuple
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling <ORF Types, Send/Receive> tuples.
-
aliastypes
¶
-
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI | RESERVED | SAFI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ORF NUMBER | ENTRIES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPCapORFBlock
BGPCapORFBlock fields¶ afi
0
reserved
0
safi
0
orf_number
None
entries
[]
-
post_build
(p, pay)¶
-
class
-
class
scapy.contrib.bgp.
BGPCapORFBlockPacketListField
(name, default, cls=None, count_from=None, length_from=None, next_cls_cb=None)¶ Bases:
scapy.fields.PacketListField
Handles lists of BGPCapORFBlocks.
-
getfield
(pkt, s)¶
-
-
class
scapy.contrib.bgp.
BGPCapability
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Generic BGP capability.
-
aliastypes
¶
-
classmethod
dispatch_hook
(_pkt=None, *args, **kargs)¶ Returns the right class for the given data.
-
post_build
(p, pay)¶
-
pre_dissect
(s)¶ Check that the payload is long enough (at least 2 bytes).
-
-
class
scapy.contrib.bgp.
BGPConf
¶ Bases:
scapy.config.ConfClass
BGP module configuration.
-
use_2_bytes_asn
= True¶
-
-
class
scapy.contrib.bgp.
BGPFieldIPv4
(name, default, fmt='H')¶ Bases:
scapy.fields.Field
IPv4 Field (CIDR)
-
addfield
(pkt, s, val)¶
-
getfield
(pkt, s)¶
-
h2i
(pkt, h)¶ x.x.x.x/y to “internal” representation.
-
i2h
(pkt, i)¶ “Internal” representation to “human” representation (x.x.x.x/y).
-
i2len
(pkt, i)¶
-
i2m
(pkt, i)¶ “Internal” (IP as bytes, mask as int) to “machine” representation.
-
i2repr
(pkt, i)¶
-
m2i
(pkt, m)¶
-
mask2iplen
(mask)¶ Get the IP field mask length (in bytes).
-
-
class
scapy.contrib.bgp.
BGPFieldIPv6
(name, default, fmt='H')¶ Bases:
scapy.fields.Field
IPv6 Field (CIDR)
-
addfield
(pkt, s, val)¶
-
getfield
(pkt, s)¶
-
h2i
(pkt, h)¶ x.x.x.x/y to internal representation.
-
i2h
(pkt, i)¶ “Internal” representation to “human” representation.
-
i2len
(pkt, i)¶
-
i2m
(pkt, i)¶ “Internal” (IP as bytes, mask as int) to “machine” representation.
-
i2repr
(pkt, i)¶
-
m2i
(pkt, m)¶
-
mask2iplen
(mask)¶ Get the IP field mask length (in bytes).
-
-
class
scapy.contrib.bgp.
BGPHeader
(*args, **kargs)¶ Bases:
scapy.packet.Packet
The header of any BGP message. References: RFC 4271
-
aliastypes
¶
-
classmethod
dispatch_hook
(_pkt=None, *args, **kargs)¶ Returns the right class for the given data.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MARKER | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPHeader
BGPHeader fields¶ marker
XBitField
(128 bits)340282366920938463463374607431768211455
len
None
type
4
-
guess_payload_class
(payload)¶
-
payload_guess
¶ Possible sublayers:
BGPKeepAlive
,BGPNotification
,BGPOpen
,BGPRouteRefresh
,BGPUpdate
-
post_build
(p, pay)¶
-
-
class
scapy.contrib.bgp.
BGPKeepAlive
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGP
,scapy.contrib.bgp.BGPHeader
KEEPALIVE message.
-
aliastypes
¶
-
-
class
scapy.contrib.bgp.
BGPNLRIPacketListField
(name, default, cls=None, count_from=None, length_from=None, next_cls_cb=None)¶ Bases:
scapy.fields.PacketListField
PacketListField handling NLRI fields.
-
getfield
(pkt, s)¶
-
-
class
scapy.contrib.bgp.
BGPNLRI_IPv4
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling IPv4 NLRI fields.
-
aliastypes
¶
-
-
class
scapy.contrib.bgp.
BGPNLRI_IPv6
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling IPv6 NLRI fields.
-
aliastypes
¶
-
-
class
scapy.contrib.bgp.
BGPNotification
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGP
NOTIFICATION messages end a BGP session. References: RFC 4271
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ERROR CODE | ERROR SUBCODE | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPNotification
BGPNotification fields¶ error_code
0
error_subcode
MultiEnumField
(Depends on error_code)0
data
None
-
-
class
scapy.contrib.bgp.
BGPORF
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation of ORFs carried in the RR message. References: RFC 5291
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |WHEN TO REFRESH| ORF TYPE | ORF LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ENTRIES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPORF
BGPORF fields¶ when_to_refresh
0
orf_type
0
orf_len
None
entries
[]
-
-
class
scapy.contrib.bgp.
BGPORFAddressPrefix
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGPORFEntry
Provides an implementation of the Address Prefix ORF (RFC 5292).
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |ACT|M| RESERVED| SEQUENCE | +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MIN LEN | MAX LEN | PREFIX | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. BGPORFAddressPrefix
BGPORFAddressPrefix fields¶ action
BitEnumField
(2 bits)0
match
BitEnumField
(1 bit)0
reserved
BitField
(5 bits)0
sequence
0
min_len
0
max_len
0
prefix
_ORFNLRIPacketField
b''
-
-
class
scapy.contrib.bgp.
BGPORFCoveringPrefix
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation of the CP-ORF (RFC 7543).
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |ACT|M| RESERVED| SEQUENCE | +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MIN LEN | MAX LEN | RT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+ | | IMPORT RT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+ | | ROUTE TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HOST ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPORFCoveringPrefix
BGPORFCoveringPrefix fields¶ action
BitEnumField
(2 bits)0
match
BitEnumField
(1 bit)0
reserved
BitField
(5 bits)0
sequence
0
min_len
0
max_len
0
rt
0
import_rt
0
route_type
0
host_addr
None
-
-
class
scapy.contrib.bgp.
BGPORFEntry
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation of an ORF entry. References: RFC 5291
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |ACT|M| RESERVED| VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPORFEntry
BGPORFEntry fields¶ action
BitEnumField
(2 bits)0
match
BitEnumField
(1 bit)0
reserved
BitField
(5 bits)0
value
b''
-
-
class
scapy.contrib.bgp.
BGPORFEntryPacketListField
(name, default, cls=None, count_from=None, length_from=None, next_cls_cb=None)¶ Bases:
scapy.fields.PacketListField
PacketListField handling the ORF entries.
-
getfield
(pkt, s)¶
-
m2i
(pkt, m)¶
-
-
class
scapy.contrib.bgp.
BGPOpen
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGP
OPEN messages are exchanged in order to open a new BGP session. References: RFC 4271
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VERSION | MY AS | HOLD TIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | BGP ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | OPT PARAM LEN | OPT PARAMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPOpen
BGPOpen fields¶ version
4
my_as
0
hold_time
0
bgp_id
'0.0.0.0'
opt_param_len
None
opt_params
[]
-
post_build
(p, pay)¶
-
-
class
scapy.contrib.bgp.
BGPOptParam
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation the OPEN message optional parameters. References: RFC 4271
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PARAM TYPE | PARAM LENGTH | PARAM VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTHENTICATION DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPOptParam
BGPOptParam fields¶ param_type
2
param_length
None
param_value
PacketField
(Cond)None
authentication_data
PacketField
(Cond)None
-
post_build
(p, pay)¶
-
-
class
scapy.contrib.bgp.
BGPOptParamPacketListField
(name, default, cls=None, count_from=None, length_from=None, next_cls_cb=None)¶ Bases:
scapy.fields.PacketListField
PacketListField handling the optional parameters (OPEN message).
-
getfield
(pkt, s)¶
-
-
class
scapy.contrib.bgp.
BGPPAAS4Aggregator
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation of the AS4_AGGREGATOR attribute “value part”. References: RFC 4893
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AGGREGATOR ASN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SPEAKER ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAAS4Aggregator
BGPPAAS4Aggregator fields¶ aggregator_asn
0
speaker_address
'0.0.0.0'
-
-
class
scapy.contrib.bgp.
BGPPAAS4BytesPath
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the AS_PATH attribute value (4 bytes ASNs, for new speakers -> ASNs are encoded as IntFields). References: RFC 4893
-
class
ASPathSegment
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation for AS_PATH segments with 4 bytes ASNs.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEGMENT TYPE | SEGMENT LENGTH| SEGMENT VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ASPathSegment
ASPathSegment fields¶ segment_type
2
segment_length
None
segment_value
[]
-
post_build
(p, pay)¶
-
-
aliastypes
¶
-
class
-
class
scapy.contrib.bgp.
BGPPAAS4Path
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation of the AS4_PATH attribute “value part”. References: RFC 4893
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEGMENT TYPE | SEGMENT LENGTH| SEGMENT VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAAS4Path
BGPPAAS4Path fields¶ segment_type
2
segment_length
None
segment_value
[]
-
post_build
(p, pay)¶
-
-
class
scapy.contrib.bgp.
BGPPAASPath
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the AS_PATH attribute value (2 bytes ASNs, for old speakers). References: RFC 4271, RFC 5065
-
class
ASPathSegment
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation for AS_PATH segments with 2 bytes ASNs.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEGMENT TYPE | SEGMENT LENGTH| SEGMENT VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ASPathSegment
ASPathSegment fields¶ segment_type
2
segment_length
None
segment_value
[]
-
post_build
(p, pay)¶
-
-
AS_TRANS
= 23456¶
-
aliastypes
¶
-
class
-
class
scapy.contrib.bgp.
BGPPAAggregator
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the AGGREGATOR attribute value. References: RFC 4271
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AGGREGATOR ASN | SPEAKER ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAAggregator
BGPPAAggregator fields¶ aggregator_asn
0
speaker_address
'0.0.0.0'
-
-
class
scapy.contrib.bgp.
BGPPAAtomicAggregate
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the ATOMIC_AGGREGATE attribute value. References: RFC 4271
-
aliastypes
¶
-
-
class
scapy.contrib.bgp.
BGPPAClusterList
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the CLUSTER_LIST attribute value. References: RFC 4456
-
aliastypes
¶
-
-
class
scapy.contrib.bgp.
BGPPACommunity
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the COMMUNITIES attribute value. References: RFC 1997
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COMMUNITY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPACommunity
BGPPACommunity fields¶ community
0
-
-
class
scapy.contrib.bgp.
BGPPAExtCommFourOctetASSpecific
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the Four-Octet AS Specific Extended Community attribute value. References: RFC 5668
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GLOBAL ADMINISTRATOR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LOCAL ADMINISTRATOR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtCommFourOctetASSpecific
BGPPAExtCommFourOctetASSpecific fields¶ global_administrator
0
local_administrator
0
-
-
class
scapy.contrib.bgp.
BGPPAExtCommIPv4AddressSpecific
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the IPv4 Address Specific Extended Community attribute value. References: RFC 4360
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GLOBAL ADMINISTRATOR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LOCAL ADMINISTRATOR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtCommIPv4AddressSpecific
BGPPAExtCommIPv4AddressSpecific fields¶ global_administrator
0
local_administrator
0
-
-
class
scapy.contrib.bgp.
BGPPAExtCommOpaque
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the Opaque Extended Community attribute value. References: RFC 4360
-
aliastypes
¶
-
-
class
scapy.contrib.bgp.
BGPPAExtCommRedirectAS2Byte
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the (FlowSpec) “redirect AS-2byte” extended community (RFC 7674). References: RFC 7674
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ASN | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtCommRedirectAS2Byte
BGPPAExtCommRedirectAS2Byte fields¶ asn
0
value
0
-
-
class
scapy.contrib.bgp.
BGPPAExtCommRedirectAS4Byte
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the (FlowSpec) “redirect AS-4byte” extended community. (RFC 7674). References: RFC 7674
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ASN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtCommRedirectAS4Byte
BGPPAExtCommRedirectAS4Byte fields¶ asn
0
value
0
-
-
class
scapy.contrib.bgp.
BGPPAExtCommRedirectIPv4
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the (FlowSpec) “redirect IPv4” extended community. (RFC 7674). References: RFC 7674
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtCommRedirectIPv4
BGPPAExtCommRedirectIPv4 fields¶ ip_addr
0
value
0
-
-
class
scapy.contrib.bgp.
BGPPAExtCommTrafficAction
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the (FlowSpec) “traffic-action” extended community. References: RFC 5575
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |S|T| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtCommTrafficAction
BGPPAExtCommTrafficAction fields¶ reserved
BitField
(46 bits)0
sample
BitField
(1 bit)0
terminal_action
BitField
(1 bit)0
-
-
class
scapy.contrib.bgp.
BGPPAExtCommTrafficMarking
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the (FlowSpec) “traffic-marking” extended community. References: RFC 5575
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DSCP | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtCommTrafficMarking
BGPPAExtCommTrafficMarking fields¶ dscp
BitEnumField
(48 bits)48
-
-
class
scapy.contrib.bgp.
BGPPAExtCommTrafficRate
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the (FlowSpec) “traffic-rate” extended community. References: RFC 5575
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ID | RATE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtCommTrafficRate
BGPPAExtCommTrafficRate fields¶ id
0
rate
0
-
-
class
scapy.contrib.bgp.
BGPPAExtCommTwoOctetASSpecific
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the Two-Octet AS Specific Extended Community attribute value. References: RFC 4360
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GLOBAL ADMINISTRATOR | LOCAL ADMINISTRATOR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtCommTwoOctetASSpecific
BGPPAExtCommTwoOctetASSpecific fields¶ global_administrator
0
local_administrator
0
-
-
class
scapy.contrib.bgp.
BGPPAExtComms
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the multiple extended communities.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EXTENDED COMMUNITIES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtComms
BGPPAExtComms fields¶ extended_communities
_ExtCommsPacketListField
[]
-
-
class
scapy.contrib.bgp.
BGPPAExtCommunity
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation of the Extended Communities attribute. References: RFC 4360
-
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 HIGH | TYPE LOW | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAExtCommunity
BGPPAExtCommunity fields¶ type_high
0
type_low
_TypeLowField
None
value
_ExtCommValuePacketField
None
-
post_build
(p, pay)¶
-
-
class
scapy.contrib.bgp.
BGPPAIPv6AddressSpecificExtComm
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation of the IPv6 Address Specific Extended Community attribute. This attribute is not defined using the existing BGP Extended Community attribute (see the RFC 5701 excerpt below). References: RFC 5701
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GLOBAL ADMINISTRATOR | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LOCAL ADMINISTRATOR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAIPv6AddressSpecificExtComm
BGPPAIPv6AddressSpecificExtComm fields¶ global_administrator
'::'
local_administrator
0
-
-
class
scapy.contrib.bgp.
BGPPALocalPref
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the LOCAL_PREF attribute value. References: RFC 4271
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LOCAL PREF | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPALocalPref
BGPPALocalPref fields¶ local_pref
0
-
-
class
scapy.contrib.bgp.
BGPPAMPReachNLRI
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the MP_REACH_NLRI attribute value, for non IPv6 AFI. References: RFC 4760
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI | SAFI | NH ADDR LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH V4 ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH V6 ADDR | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH V6 GLOBAL | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH V6 LINK LOCAL | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | NLRI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAMPReachNLRI
BGPPAMPReachNLRI fields¶ afi
0
safi
0
nh_addr_len
0
nh_v4_addr
IPField
(Cond)'0.0.0.0'
nh_v6_addr
IP6Field
(Cond)'::'
nh_v6_global
IP6Field
(Cond)'::'
nh_v6_link_local
IP6Field
(Cond)'::'
reserved
0
nlri
[]
-
post_build
(p, pay)¶
-
-
class
scapy.contrib.bgp.
BGPPAMPUnreachNLRI
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the MP_UNREACH_NLRI attribute value, for non IPv6 AFI. References: RFC 4760
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI | SAFI |AFI SAFI SPECIF| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. BGPPAMPUnreachNLRI
BGPPAMPUnreachNLRI fields¶ afi
0
safi
0
afi_safi_specific
None
-
post_build
(p, pay)¶
-
-
class
scapy.contrib.bgp.
BGPPAMPUnreachNLRI_IPv6
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the MP_UNREACH_NLRI attribute value, for IPv6 AFI.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | WITHDRAWN ROUTES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAMPUnreachNLRI_IPv6
BGPPAMPUnreachNLRI_IPv6 fields¶ withdrawn_routes
[]
-
-
class
scapy.contrib.bgp.
BGPPAMultiExitDisc
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the MULTI_EXIT_DISC attribute value. References: RFC 4271
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAMultiExitDisc
BGPPAMultiExitDisc fields¶ med
0
-
-
class
scapy.contrib.bgp.
BGPPANextHop
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the NEXT_HOP attribute value. References: RFC 4271
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NEXT HOP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPANextHop
BGPPANextHop fields¶ next_hop
'0.0.0.0'
-
-
class
scapy.contrib.bgp.
BGPPAOrigin
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the ORIGIN attribute value. References: RFC 4271
-
aliastypes
¶
-
-
class
scapy.contrib.bgp.
BGPPAOriginatorID
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Packet handling the ORIGINATOR_ID attribute value. References: RFC 4456
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ORIGINATOR ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPAOriginatorID
BGPPAOriginatorID fields¶ originator_id
'0.0.0.0'
-
-
class
scapy.contrib.bgp.
BGPPathAttr
(*args, **kargs)¶ Bases:
scapy.packet.Packet
Provides an implementation of the path attributes. References: RFC 4271
-
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 FLAGS | TYPE CODE | ATTR EXT LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATTR LEN | ATTRIBUTE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPPathAttr
BGPPathAttr fields¶ type_flags
FlagsField
(8 bits)<Flag 128 (Optional)>
type_code
0
attr_ext_len
ShortField
(Cond)None
attr_len
ByteField
(Cond)None
attribute
_PathAttrPacketField
None
-
post_build
(p, pay)¶
-
-
class
scapy.contrib.bgp.
BGPPathAttrPacketListField
(name, default, cls=None, count_from=None, length_from=None, next_cls_cb=None)¶ Bases:
scapy.fields.PacketListField
PacketListField handling the path attributes (UPDATE message).
-
getfield
(pkt, s)¶
-
-
class
scapy.contrib.bgp.
BGPRouteRefresh
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGP
Provides an implementation of the ROUTE-REFRESH message. References: RFC 2918, RFC 7313
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI | SUBTYPE | SAFI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ORF DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPRouteRefresh
BGPRouteRefresh fields¶ afi
1
subtype
0
safi
1
orf_data
b''
-
-
class
scapy.contrib.bgp.
BGPUpdate
(*args, **kargs)¶ Bases:
scapy.contrib.bgp.BGP
UPDATE messages allow peers to exchange routes. References: RFC 4271
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | WITHDRAWN ROUTES LEN | WITHDRAWN ROUTES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PATH ATTR LEN | PATH ATTR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NLRI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BGPUpdate
BGPUpdate fields¶ withdrawn_routes_len
None
withdrawn_routes
[]
path_attr_len
None
path_attr
[]
nlri
[]
-
post_build
(p, pay)¶
-
-
class
scapy.contrib.bgp.
MPReachNLRIPacketListField
(name, default, cls=None, count_from=None, length_from=None, next_cls_cb=None)¶ Bases:
scapy.fields.PacketListField
PacketListField handling the AFI specific part (except for the length of Next Hop Network Address field, which is not AFI specific) of the MP_REACH_NLRI attribute.
-
getfield
(pkt, s)¶
-
-
class
scapy.contrib.bgp.
MPUnreachNLRIPacketField
(name, default, cls, remain=0)¶ Bases:
scapy.fields.PacketField
PacketField handling the AFI specific part of the MP_UNREACH_NLRI attribute.
-
m2i
(pkt, m)¶
-
-
scapy.contrib.bgp.
has_extended_length
(flags)¶ Used in BGPPathAttr to check if the extended-length flag is set.