scapy.contrib.gtp

GPRS Tunneling Protocol (GTP)

Spec: 3GPP TS 29.060 and 3GPP TS 29.274 Some IEs: 3GPP TS 24.008

class scapy.contrib.gtp.APNStrLenField(name: str, default: bytes, length_from: Callable[[Packet], int] | None = None, max_length: Any | None = None)[source]

Bases: StrLenField

i2m(pkt, s)[source]
m2i(pkt, s)[source]
class scapy.contrib.gtp.FQDNField(name: str, default: bytes, length_from: Callable[[Packet], int] | None = None, max_length: Any | None = None)[source]

Bases: DNSStrField

DNSStrField without ending null.

See ETSI TS 129.244 18.07.00 - 8.66, NOTE 1

getfield(pkt, s)[source]
h2i(pkt, x)[source]
i2m(pkt, x)[source]
class scapy.contrib.gtp.GTPCreatePDPContextRequest(_pkt, /, *, IE_list=[<IE_TEIDI  TEIDI=<RandInt> |>, <IE_NSAPI  NSAPI=<RandNum> |>, <IE_GSNAddress  length=4 ipv4_address=<RandIP> |>, <IE_GSNAddress  length=4 ipv4_address=<RandIP> |>, <IE_NotImplementedTLV  ietype=QoS length=15 data=<RandString> |>])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPCreatePDPContextRequest'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (GTPCreatePDPContextRequest).IE_list>]
class scapy.contrib.gtp.GTPCreatePDPContextResponse(_pkt, /, *, IE_list=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPCreatePDPContextResponse'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (GTPCreatePDPContextResponse).IE_list>]
class scapy.contrib.gtp.GTPDeletePDPContextRequest(_pkt, /, *, IE_list=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPDeletePDPContextRequest'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (GTPDeletePDPContextRequest).IE_list>]
class scapy.contrib.gtp.GTPDeletePDPContextResponse(_pkt, /, *, IE_list=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPDeletePDPContextResponse'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (GTPDeletePDPContextResponse).IE_list>]
class scapy.contrib.gtp.GTPEchoRequest(_pkt, /)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPEchoRequest'>, <class 'scapy.packet.Packet'>]
class scapy.contrib.gtp.GTPEchoResponse(_pkt, /, *, IE_list=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPEchoResponse'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (GTPEchoResponse).IE_list>]
class scapy.contrib.gtp.GTPErrorIndication(_pkt, /, *, IE_list=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPErrorIndication'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (GTPErrorIndication).IE_list>]
class scapy.contrib.gtp.GTPHeader(_pkt, /, *, version=1, PT=1, reserved=0, E=0, S=0, PN=0, gtp_type=None, length=None, teid=0, seq=0, npdu=0, next_ex=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPHeader'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
classmethod dispatch_hook(_pkt=None, *args, **kargs)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<BitField (GTPHeader,GTP_U_Header).version>, <BitField (GTPHeader,GTP_U_Header).PT>, <BitField (GTPHeader,GTP_U_Header).reserved>, <BitField (GTPHeader,GTP_U_Header).E>, <BitField (GTPHeader,GTP_U_Header).S>, <BitField (GTPHeader,GTP_U_Header).PN>, <ByteEnumField (GTPHeader,GTP_U_Header).gtp_type>, <ShortField (GTPHeader,GTP_U_Header).length>, <IntField (GTPHeader,GTP_U_Header).teid>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
hashret()[source]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'S': 1, 'gtp_type': 1}, <class 'scapy.contrib.gtp.GTPEchoRequest'>), ({'S': 1, 'gtp_type': 2}, <class 'scapy.contrib.gtp.GTPEchoResponse'>), ({'gtp_type': 16}, <class 'scapy.contrib.gtp.GTPCreatePDPContextRequest'>), ({'gtp_type': 17}, <class 'scapy.contrib.gtp.GTPCreatePDPContextResponse'>), ({'gtp_type': 18}, <class 'scapy.contrib.gtp.GTPUpdatePDPContextRequest'>), ({'gtp_type': 19}, <class 'scapy.contrib.gtp.GTPUpdatePDPContextResponse'>), ({'gtp_type': 20}, <class 'scapy.contrib.gtp.GTPDeletePDPContextRequest'>), ({'gtp_type': 21}, <class 'scapy.contrib.gtp.GTPDeletePDPContextResponse'>), ({'gtp_type': 27}, <class 'scapy.contrib.gtp.GTPPDUNotificationRequest'>), ({'S': 1, 'gtp_type': 31}, <class 'scapy.contrib.gtp.GTPSupportedExtensionHeadersNotification'>), ({'E': 1, 'next_ex': 64}, <class 'scapy.contrib.gtp.GTP_UDPPort_ExtensionHeader'>), ({'E': 1, 'next_ex': 192}, <class 'scapy.contrib.gtp.GTP_PDCP_PDU_ExtensionHeader'>)]
post_build(p, pay)[source]
class scapy.contrib.gtp.GTPPDUNotificationRequest(_pkt, /, *, IE_list=[<IE_IMSI  |>, <IE_TEICP  TEICI=<RandInt> |>, <IE_EndUserAddress  PDPTypeNumber=0x21 |>, <IE_AccessPointName  |>, <IE_GSNAddress  |>])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPPDUNotificationRequest'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (GTPPDUNotificationRequest).IE_list>]
class scapy.contrib.gtp.GTPPDUSessionContainer(_pkt, /, *, ExtHdrLen=None, type=0, QMP=0, dlDelayInd=0, ulDelayInd=0, SNP=0, N3N9DelayInd=0, spareUl1=0, spareDl1=0, PPP=0, RQI=0, QFI=0, PPI=0, spareDl2=0, dlSendTime=0, dlQFISeqNum=0, dlSendTimeRpt=0, dlRecvTime=0, ulSendTime=0, dlDelayRslt=0, ulDelayRslt=0, UlQFISeqNum=0, N3N9DelayRslt=0, NextExtHdr=0, padding=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPPDUSessionContainer'>, <class 'scapy.packet.Packet'>]
deprecated_fields: Dict[str, Tuple[str, str]] = {'P': ('PPP', '2.4.5'), 'R': ('RQI', '2.4.5'), 'extraPadding': ('padding', '2.4.5'), 'qmp': ('QMP', '2.4.5')}
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteField (GTPPDUSessionContainer).ExtHdrLen>, <BitEnumField (GTPPDUSessionContainer).type>, <BitField (GTPPDUSessionContainer).QMP>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <BitField (GTPPDUSessionContainer).SNP>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <BitField (GTPPDUSessionContainer).QFI>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <ByteEnumField (GTPPDUSessionContainer).NextExtHdr>, <scapy.fields.ConditionalField object>]
guess_payload_class(payload)[source]
post_build(p, pay)[source]
post_dissect(s)[source]
class scapy.contrib.gtp.GTPSupportedExtensionHeadersNotification(_pkt, /, *, IE_list=[<IE_ExtensionHeaderList  extension_headers=[64, 192] |>])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPSupportedExtensionHeadersNotification'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (GTPSupportedExtensionHeadersNotification).IE_list>]
class scapy.contrib.gtp.GTPUpdatePDPContextRequest(_pkt, /, *, IE_list=[<IE_Cause  |>, <IE_Recovery  |>, <IE_TEIDI  TEIDI=<RandInt> |>, <IE_TEICP  TEICI=<RandInt> |>, <IE_ChargingId  Charging_id=<RandInt> |>, <IE_ProtocolConfigurationOptions  |>, <IE_GSNAddress  |>, <IE_GSNAddress  |>, <IE_GSNAddress  |>, <IE_GSNAddress  |>, <IE_QoS  |>, <IE_CharginGatewayAddress  |>, <IE_CharginGatewayAddress  |>, <IE_CommonFlags  |>, <IE_APNRestriction  |>, <IE_BearerControlMode  |>, <IE_MSInfoChangeReportingAction  |>, <IE_EvolvedAllocationRetentionPriority  |>, <IE_PrivateExtension  |>])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPUpdatePDPContextRequest'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (GTPUpdatePDPContextRequest).IE_list>]
class scapy.contrib.gtp.GTPUpdatePDPContextResponse(_pkt, /, *, IE_list=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPUpdatePDPContextResponse'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (GTPUpdatePDPContextResponse).IE_list>]
class scapy.contrib.gtp.GTP_ExtensionHeader(_pkt, /)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTP_ExtensionHeader'>, <class 'scapy.packet.Packet'>]
classmethod dispatch_hook(_pkt=None, *args, **kargs)[source]
class scapy.contrib.gtp.GTP_PDCP_PDU_ExtensionHeader(_pkt, /, *, length=1, pdcp_pdu=None, next_ex=0)[source]

Bases: GTP_ExtensionHeader

aliastypes = [<class 'scapy.contrib.gtp.GTP_PDCP_PDU_ExtensionHeader'>, <class 'scapy.contrib.gtp.GTP_ExtensionHeader'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteField (GTP_PDCP_PDU_ExtensionHeader).length>, <ShortField (GTP_PDCP_PDU_ExtensionHeader).pdcp_pdu>, <ByteEnumField (GTP_PDCP_PDU_ExtensionHeader).next_ex>]
class scapy.contrib.gtp.GTP_UDPPort_ExtensionHeader(_pkt, /, *, length=1, udp_port=None, next_ex=0)[source]

Bases: GTP_ExtensionHeader

aliastypes = [<class 'scapy.contrib.gtp.GTP_UDPPort_ExtensionHeader'>, <class 'scapy.contrib.gtp.GTP_ExtensionHeader'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteField (GTP_UDPPort_ExtensionHeader).length>, <ShortField (GTP_UDPPort_ExtensionHeader).udp_port>, <ByteEnumField (GTP_UDPPort_ExtensionHeader).next_ex>]
class scapy.contrib.gtp.GTP_U_Header(_pkt, /, *, version=1, PT=1, reserved=0, E=0, S=0, PN=0, gtp_type=None, length=None, teid=0, seq=0, npdu=0, next_ex=0)[source]

Bases: GTPHeader

aliastypes = [<class 'scapy.contrib.gtp.GTP_U_Header'>, <class 'scapy.contrib.gtp.GTPHeader'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<BitField (GTPHeader,GTP_U_Header).version>, <BitField (GTPHeader,GTP_U_Header).PT>, <BitField (GTPHeader,GTP_U_Header).reserved>, <BitField (GTPHeader,GTP_U_Header).E>, <BitField (GTPHeader,GTP_U_Header).S>, <BitField (GTPHeader,GTP_U_Header).PN>, <ByteEnumField (GTPHeader,GTP_U_Header).gtp_type>, <ShortField (GTPHeader,GTP_U_Header).length>, <IntField (GTPHeader,GTP_U_Header).teid>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
guess_payload_class(payload)[source]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'S': 1, 'gtp_type': 1}, <class 'scapy.contrib.gtp.GTPEchoRequest'>), ({'S': 1, 'gtp_type': 2}, <class 'scapy.contrib.gtp.GTPEchoResponse'>), ({'gtp_type': 16}, <class 'scapy.contrib.gtp.GTPCreatePDPContextRequest'>), ({'gtp_type': 17}, <class 'scapy.contrib.gtp.GTPCreatePDPContextResponse'>), ({'gtp_type': 18}, <class 'scapy.contrib.gtp.GTPUpdatePDPContextRequest'>), ({'gtp_type': 19}, <class 'scapy.contrib.gtp.GTPUpdatePDPContextResponse'>), ({'gtp_type': 20}, <class 'scapy.contrib.gtp.GTPDeletePDPContextRequest'>), ({'gtp_type': 21}, <class 'scapy.contrib.gtp.GTPDeletePDPContextResponse'>), ({'gtp_type': 27}, <class 'scapy.contrib.gtp.GTPPDUNotificationRequest'>), ({'S': 1, 'gtp_type': 31}, <class 'scapy.contrib.gtp.GTPSupportedExtensionHeadersNotification'>), ({'E': 1, 'next_ex': 64}, <class 'scapy.contrib.gtp.GTP_UDPPort_ExtensionHeader'>), ({'E': 1, 'next_ex': 192}, <class 'scapy.contrib.gtp.GTP_PDCP_PDU_ExtensionHeader'>), ({'S': 1, 'gtp_type': 26}, <class 'scapy.contrib.gtp.GTPErrorIndication'>), ({'E': 1, 'gtp_type': 255, 'next_ex': 133}, <class 'scapy.contrib.gtp.GTPPDUSessionContainer'>)]
class scapy.contrib.gtp.GTPmorethan1500(_pkt, /, *, IE_Cause=1, IE=1)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.GTPmorethan1500'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (GTPmorethan1500).IE_Cause>, <BitField (GTPmorethan1500).IE>]
class scapy.contrib.gtp.IE_APNRestriction(_pkt, /, *, ietype=149, length=1, restriction_type_value=0)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_APNRestriction'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_APNRestriction).ietype>, <ShortField (IE_APNRestriction).length>, <ByteField (IE_APNRestriction).restriction_type_value>]
class scapy.contrib.gtp.IE_AccessPointName(_pkt, /, *, ietype=131, length=None, APN=b'nternet')[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_AccessPointName'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_AccessPointName).ietype>, <ShortField (IE_AccessPointName).length>, <APNStrLenField (IE_AccessPointName).APN>]
post_build(p, pay)[source]
class scapy.contrib.gtp.IE_Base(_pkt, /)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
extract_padding(pkt)[source]
post_build(p, pay)[source]
class scapy.contrib.gtp.IE_BearerControlMode(_pkt, /, *, ietype=184, length=1, bearer_control_mode=0)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_BearerControlMode'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_BearerControlMode).ietype>, <ShortField (IE_BearerControlMode).length>, <ByteField (IE_BearerControlMode).bearer_control_mode>]
class scapy.contrib.gtp.IE_Cause(_pkt, /, *, ietype=1, CauseValue=None)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_Cause'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_Cause).ietype>, <ByteEnumField (IE_Cause).CauseValue>]
class scapy.contrib.gtp.IE_CharginGatewayAddress(_pkt, /, *, ietype=251, length=4, ipv4_address='127.0.0.1', ipv6_address='::1')[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_CharginGatewayAddress'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_CharginGatewayAddress).ietype>, <ShortField (IE_CharginGatewayAddress).length>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class scapy.contrib.gtp.IE_ChargingCharacteristics(_pkt, /, *, ietype=26, Ch_ChSpare=None, normal_charging=None, prepaid_charging=None, flat_rate_charging=None, hot_billing_charging=None, Ch_ChReserved=0)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_ChargingCharacteristics'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_ChargingCharacteristics).ietype>, <XBitField (IE_ChargingCharacteristics).Ch_ChSpare>, <XBitField (IE_ChargingCharacteristics).normal_charging>, <XBitField (IE_ChargingCharacteristics).prepaid_charging>, <XBitField (IE_ChargingCharacteristics).flat_rate_charging>, <XBitField (IE_ChargingCharacteristics).hot_billing_charging>, <XBitField (IE_ChargingCharacteristics).Ch_ChReserved>]
class scapy.contrib.gtp.IE_ChargingId(_pkt, /, *, ietype=127, Charging_id=<RandInt>)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_ChargingId'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_ChargingId).ietype>, <XIntField (IE_ChargingId).Charging_id>]
class scapy.contrib.gtp.IE_CommonFlags(_pkt, /, *, ietype=148, length=None, dual_addr_bearer_fl=0, upgrade_qos_supported=0, nrsn=0, no_qos_nego=0, mbms_cnting_info=0, ran_procedure_ready=0, mbms_service_type=0, prohibit_payload_compression=0)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_CommonFlags'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_CommonFlags).ietype>, <ShortField (IE_CommonFlags).length>, <BitField (IE_CommonFlags).dual_addr_bearer_fl>, <BitField (IE_CommonFlags).upgrade_qos_supported>, <BitField (IE_CommonFlags).nrsn>, <BitField (IE_CommonFlags).no_qos_nego>, <BitField (IE_CommonFlags).mbms_cnting_info>, <BitField (IE_CommonFlags).ran_procedure_ready>, <BitField (IE_CommonFlags).mbms_service_type>, <BitField (IE_CommonFlags).prohibit_payload_compression>]
class scapy.contrib.gtp.IE_DirectTunnelFlags(_pkt, /, *, ietype=182, length=1, spare=0, EI=0, GCSI=0, DTI=0)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_DirectTunnelFlags'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_DirectTunnelFlags).ietype>, <ShortField (IE_DirectTunnelFlags).length>, <BitField (IE_DirectTunnelFlags).spare>, <BitField (IE_DirectTunnelFlags).EI>, <BitField (IE_DirectTunnelFlags).GCSI>, <BitField (IE_DirectTunnelFlags).DTI>]
scapy.contrib.gtp.IE_Dispatcher(s)[source]

Choose the correct Information Element class.

class scapy.contrib.gtp.IE_EndUserAddress(_pkt, /, *, ietype=128, length=2, SPARE=15, PDPTypeOrganization=1, PDPTypeNumber=None, PDPAddress=<RandIP>, IPv6_PDPAddress='::1')[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_EndUserAddress'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_EndUserAddress).ietype>, <ShortField (IE_EndUserAddress).length>, <BitField (IE_EndUserAddress).SPARE>, <BitField (IE_EndUserAddress).PDPTypeOrganization>, <XByteField (IE_EndUserAddress).PDPTypeNumber>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class scapy.contrib.gtp.IE_EvolvedAllocationRetentionPriority(_pkt, /, *, ietype=191, length=1, spare1=0, PCI=0, PL=0, spare2=0, PVI=0)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_EvolvedAllocationRetentionPriority'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_EvolvedAllocationRetentionPriority).ietype>, <ShortField (IE_EvolvedAllocationRetentionPriority).length>, <BitField (IE_EvolvedAllocationRetentionPriority).spare1>, <BitField (IE_EvolvedAllocationRetentionPriority).PCI>, <XBitField (IE_EvolvedAllocationRetentionPriority).PL>, <BitField (IE_EvolvedAllocationRetentionPriority).spare2>, <BitField (IE_EvolvedAllocationRetentionPriority).PVI>]
class scapy.contrib.gtp.IE_ExtensionHeaderList(_pkt, /, *, ietype=141, length=None, extension_headers=[64, 192])[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_ExtensionHeaderList'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_ExtensionHeaderList).ietype>, <FieldLenField (IE_ExtensionHeaderList).length>, <FieldListField (IE_ExtensionHeaderList).extension_headers>]
class scapy.contrib.gtp.IE_GSNAddress(_pkt, /, *, ietype=133, length=None, ipv4_address=<RandIP>, ipv6_address='::1')[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_GSNAddress'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_GSNAddress).ietype>, <ShortField (IE_GSNAddress).length>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
post_build(p, pay)[source]
class scapy.contrib.gtp.IE_IMEI(_pkt, /, *, ietype=154, length=None, IMEI=b'')[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_IMEI'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_IMEI).ietype>, <ShortField (IE_IMEI).length>, <TBCDByteField (IE_IMEI).IMEI>]
class scapy.contrib.gtp.IE_IMSI(_pkt, /, *, ietype=2, imsi=b'662932952959921')[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_IMSI'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_IMSI).ietype>, <TBCDByteField (IE_IMSI).imsi>]
class scapy.contrib.gtp.IE_MSInfoChangeReportingAction(_pkt, /, *, ietype=181, length=1, Action=0)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_MSInfoChangeReportingAction'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_MSInfoChangeReportingAction).ietype>, <ShortField (IE_MSInfoChangeReportingAction).length>, <ByteField (IE_MSInfoChangeReportingAction).Action>]
class scapy.contrib.gtp.IE_MSInternationalNumber(_pkt, /, *, ietype=134, length=None, flags=<Flag 145 (Extension++ISDN numbering)>, digits=b'33607080910')[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_MSInternationalNumber'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_MSInternationalNumber).ietype>, <ShortField (IE_MSInternationalNumber).length>, <FlagsField (IE_MSInternationalNumber).flags>, <TBCDByteField (IE_MSInternationalNumber).digits>]
class scapy.contrib.gtp.IE_MSTimeZone(_pkt, /, *, ietype=153, length=None, timezone=0, spare=0, daylight_saving_time=0)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_MSTimeZone'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_MSTimeZone).ietype>, <ShortField (IE_MSTimeZone).length>, <ByteField (IE_MSTimeZone).timezone>, <BitField (IE_MSTimeZone).spare>, <XBitField (IE_MSTimeZone).daylight_saving_time>]
class scapy.contrib.gtp.IE_NSAPI(_pkt, /, *, ietype=20, sparebits=0, NSAPI=<RandNum>)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_NSAPI'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_NSAPI).ietype>, <XBitField (IE_NSAPI).sparebits>, <XBitField (IE_NSAPI).NSAPI>]
class scapy.contrib.gtp.IE_NotImplementedTLV(_pkt, /, *, ietype=0, length=None, data=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.gtp.IE_NotImplementedTLV'>, <class 'scapy.packet.Packet'>]
extract_padding(pkt)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_NotImplementedTLV).ietype>, <ShortField (IE_NotImplementedTLV).length>, <StrLenField (IE_NotImplementedTLV).data>]
class scapy.contrib.gtp.IE_PrivateExtension(_pkt, /, *, ietype=255, length=1, extension_identifier=0, extention_value=b'')[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_PrivateExtension'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_PrivateExtension).ietype>, <ShortField (IE_PrivateExtension).length>, <ByteField (IE_PrivateExtension).extension_identifier>, <StrLenField (IE_PrivateExtension).extention_value>]
class scapy.contrib.gtp.IE_ProtocolConfigurationOptions(_pkt, /, *, ietype=132, length=4, Protocol_Configuration=b'')[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_ProtocolConfigurationOptions'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_ProtocolConfigurationOptions).ietype>, <ShortField (IE_ProtocolConfigurationOptions).length>, <StrLenField (IE_ProtocolConfigurationOptions).Protocol_Configuration>]
class scapy.contrib.gtp.IE_QoS(_pkt, /, *, ietype=135, length=None, allocation_retention_prioiry=1, spare1=0, delay_class=0, reliability_class=0, peak_troughput=0, spare2=0, precedence_class=0, spare3=0, mean_troughput=0, traffic_class=0, delivery_order=0, delivery_of_err_sdu=0, max_sdu_size=None, max_bitrate_up=None, max_bitrate_down=None, redidual_ber=0, sdu_err_ratio=0, transfer_delay=0, traffic_handling_prio=0, guaranteed_bit_rate_up=None, guaranteed_bit_rate_down=None, spare4=0, signaling_indication=0, source_stats_desc=0, max_bitrate_down_ext=None, guaranteed_bitrate_down_ext=None, max_bitrate_up_ext=None, guaranteed_bitrate_up_ext=None, max_bitrate_down_ext2=None, guaranteed_bitrate_down_ext2=None, max_bitrate_up_ext2=None, guaranteed_bitrate_up_ext2=None)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_QoS'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_QoS).ietype>, <ShortField (IE_QoS).length>, <ByteField (IE_QoS).allocation_retention_prioiry>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class scapy.contrib.gtp.IE_RATType(_pkt, /, *, ietype=151, length=1, RAT_Type=None)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_RATType'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_RATType).ietype>, <ShortField (IE_RATType).length>, <ByteEnumField (IE_RATType).RAT_Type>]
class scapy.contrib.gtp.IE_Recovery(_pkt, /, *, ietype=14, restart_counter=24)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_Recovery'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_Recovery).ietype>, <ByteField (IE_Recovery).restart_counter>]
class scapy.contrib.gtp.IE_ReorderingRequired(_pkt, /, *, ietype=8, reordering_required=254)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_ReorderingRequired'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_ReorderingRequired).ietype>, <ByteEnumField (IE_ReorderingRequired).reordering_required>]
class scapy.contrib.gtp.IE_Routing(_pkt, /, *, ietype=3, MCC=b'', MNC=b'', LAC=None, RAC=None)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_Routing'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_Routing).ietype>, <TBCDByteField (IE_Routing).MCC>, <TBCDByteField (IE_Routing).MNC>, <ShortField (IE_Routing).LAC>, <ByteField (IE_Routing).RAC>]
class scapy.contrib.gtp.IE_SelectionMode(_pkt, /, *, ietype=15, SelectionMode=11111100)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_SelectionMode'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_SelectionMode).ietype>, <BitEnumField (IE_SelectionMode).SelectionMode>]
class scapy.contrib.gtp.IE_TEICP(_pkt, /, *, ietype=17, TEICI=<RandInt>)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_TEICP'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_TEICP).ietype>, <XIntField (IE_TEICP).TEICI>]
class scapy.contrib.gtp.IE_TEIDI(_pkt, /, *, ietype=16, TEIDI=<RandInt>)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_TEIDI'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_TEIDI).ietype>, <XIntField (IE_TEIDI).TEIDI>]
class scapy.contrib.gtp.IE_Teardown(_pkt, /, *, ietype=19, indicator=255)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_Teardown'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_Teardown).ietype>, <ByteEnumField (IE_Teardown).indicator>]
class scapy.contrib.gtp.IE_TraceReference(_pkt, /, *, ietype=27, Trace_reference=None)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_TraceReference'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_TraceReference).ietype>, <XBitField (IE_TraceReference).Trace_reference>]
class scapy.contrib.gtp.IE_TraceType(_pkt, /, *, ietype=28, Trace_type=None)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_TraceType'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_TraceType).ietype>, <XBitField (IE_TraceType).Trace_type>]
class scapy.contrib.gtp.IE_UserLocationInformation(_pkt, /, *, ietype=152, length=None, type=1, MCC=b'', MNC=b'', LAC=None, SAC=None)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.IE_UserLocationInformation'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (IE_UserLocationInformation).ietype>, <ShortField (IE_UserLocationInformation).length>, <ByteField (IE_UserLocationInformation).type>, <TBCDByteField (IE_UserLocationInformation).MCC>, <TBCDByteField (IE_UserLocationInformation).MNC>, <ShortField (IE_UserLocationInformation).LAC>, <ShortField (IE_UserLocationInformation).SAC>]
class scapy.contrib.gtp.QoS_Profile(_pkt, /, *, qos_ei=0, length=None, spare1=0, delay_class=0, reliability_class=0, peak_troughput=0, spare2=0, precedence_class=0, spare3=0, mean_troughput=0, traffic_class=0, delivery_order=0, delivery_of_err_sdu=0, max_sdu_size=None, max_bitrate_up=None, max_bitrate_down=None, redidual_ber=0, sdu_err_ratio=0, transfer_delay=0, traffic_handling_prio=0, guaranteed_bit_rate_up=None, guaranteed_bit_rate_down=None)[source]

Bases: IE_Base

aliastypes = [<class 'scapy.contrib.gtp.QoS_Profile'>, <class 'scapy.contrib.gtp.IE_Base'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteField (QoS_Profile).qos_ei>, <ByteField (QoS_Profile).length>, <XBitField (QoS_Profile).spare1>, <XBitField (QoS_Profile).delay_class>, <XBitField (QoS_Profile).reliability_class>, <XBitField (QoS_Profile).peak_troughput>, <BitField (QoS_Profile).spare2>, <XBitField (QoS_Profile).precedence_class>, <XBitField (QoS_Profile).spare3>, <XBitField (QoS_Profile).mean_troughput>, <XBitField (QoS_Profile).traffic_class>, <XBitField (QoS_Profile).delivery_order>, <XBitField (QoS_Profile).delivery_of_err_sdu>, <ByteField (QoS_Profile).max_sdu_size>, <ByteField (QoS_Profile).max_bitrate_up>, <ByteField (QoS_Profile).max_bitrate_down>, <XBitField (QoS_Profile).redidual_ber>, <XBitField (QoS_Profile).sdu_err_ratio>, <XBitField (QoS_Profile).transfer_delay>, <XBitField (QoS_Profile).traffic_handling_prio>, <ByteField (QoS_Profile).guaranteed_bit_rate_up>, <ByteField (QoS_Profile).guaranteed_bit_rate_down>]
class scapy.contrib.gtp.TBCDByteField(name: str, default: bytes | None, length: int | None = None, length_from: Callable[[Packet], int] | None = None)[source]

Bases: StrFixedLenField

i2h(pkt, val)[source]
i2m(pkt, val)[source]
m2i(pkt, val)[source]