scapy.contrib.enipTCP
EtherNet/IP (Industrial Protocol)
Based on https://github.com/scy-phy/scapy-cip-enip EtherNet/IP Home: www.odva.org
- class scapy.contrib.enipTCP.BaseSendPacket(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketAbstract Class
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INTERFACEHANDLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TIMEOUT | ENCAPSULATEDPACKET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BaseSendPacketBaseSendPacket fields interfaceHandle
0timeout
0encapsulatedPacket
None
- class scapy.contrib.enipTCP.CommandSpecificData(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketCommand Specific Data Field Default
- aliastypes
- class scapy.contrib.enipTCP.ENIPListIdentityReply(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketList Identity Command Field
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMCOUNT | IDENTITYITEMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListIdentityReplyENIPListIdentityReply fields itemCount
0identityItems
None
- class scapy.contrib.enipTCP.ENIPListIdentityReplyItems(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketList Identity Items Field
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMTYPECODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMLENGTH | ITEMDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListIdentityReplyItemsENIPListIdentityReplyItems fields itemTypeCode
0itemLength
0itemData
b''
- class scapy.contrib.enipTCP.ENIPListInterfacesReply(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketList Interfaces Command Field
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMCOUNT | IDENTITYITEMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListInterfacesReplyENIPListInterfacesReply fields itemCount
0identityItems
0
- class scapy.contrib.enipTCP.ENIPListInterfacesReplyItems(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketList Interfaces Items Field
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMTYPECODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMLENGTH | ITEMDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListInterfacesReplyItemsENIPListInterfacesReplyItems fields itemTypeCode
0itemLength
0itemData
b''
- class scapy.contrib.enipTCP.ENIPListServicesReply(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketList Services Command Field
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMCOUNT | TARGETITEMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListServicesReplyENIPListServicesReply fields itemCount
0targetItems
None
- class scapy.contrib.enipTCP.ENIPListServicesReplyItems(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketList Services Items Field
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMTYPECODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMLENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VERSION | FLAG | SERVICENAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListServicesReplyItemsENIPListServicesReplyItems fields itemTypeCode
0itemLength
0version
1flag
0serviceName
None
- class scapy.contrib.enipTCP.ENIPRegisterSession(*args: Any, **kargs: Any)[source]
Bases:
scapy.contrib.enipTCP.CommandSpecificDataRegister Session Command Field
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PROTOCOLVERSION | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPRegisterSessionENIPRegisterSession fields protocolVersion
1options
0
- class scapy.contrib.enipTCP.ENIPSendRRData(*args: Any, **kargs: Any)[source]
Bases:
scapy.contrib.enipTCP.BaseSendPacketSend RR Data Command Field
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INTERFACEHANDLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TIMEOUT | ENCAPSULATEDPACKET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPSendRRDataENIPSendRRData fields interfaceHandle
0timeout
0encapsulatedPacket
None
- class scapy.contrib.enipTCP.ENIPSendUnitData(*args: Any, **kargs: Any)[source]
Bases:
scapy.contrib.enipTCP.BaseSendPacketSend Unit Data Command Field
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INTERFACEHANDLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TIMEOUT | ENCAPSULATEDPACKET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPSendUnitDataENIPSendUnitData fields interfaceHandle
0timeout
0encapsulatedPacket
None
- class scapy.contrib.enipTCP.ENIPTCP(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketEthernet/IP packet over TCP
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COMMANDID | LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SESSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SENDERCONTEXT | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COMMANDSPECIFICDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPTCPENIPTCP fields commandId
Nonelength
0session
0status
NonesenderContext
0options
0commandSpecificData
MultipleTypeField(PacketField, PacketField, PacketField, PacketField, PacketField, PacketField, PacketField)None
- class scapy.contrib.enipTCP.EncapsulatedPacket(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketEncapsulated 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMCOUNT | ITEM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EncapsulatedPacketEncapsulatedPacket fields itemCount
2item
[]
- class scapy.contrib.enipTCP.ItemData(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.PacketCommon Packet Format
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPEID | LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ItemDataItemData fields typeId
0length
0data
b''