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(_pkt, /, *, interfaceHandle=0, timeout=0, encapsulatedPacket=None)[source]
Bases:
Packet
Abstract 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. BaseSendPacket
BaseSendPacket fields interfaceHandle
0
timeout
0
encapsulatedPacket
None
- class scapy.contrib.enipTCP.CommandSpecificData(_pkt, /)[source]
Bases:
Packet
Command Specific Data Field Default
- aliastypes
- class scapy.contrib.enipTCP.ENIPListIdentityReply(_pkt, /, *, itemCount=0, identityItems=None)[source]
Bases:
Packet
List 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. ENIPListIdentityReply
ENIPListIdentityReply fields itemCount
0
identityItems
None
- class scapy.contrib.enipTCP.ENIPListIdentityReplyItems(_pkt, /, *, itemTypeCode=0, itemLength=0, itemData=b'')[source]
Bases:
Packet
List 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. ENIPListIdentityReplyItems
ENIPListIdentityReplyItems fields itemTypeCode
0
itemLength
0
itemData
b''
- class scapy.contrib.enipTCP.ENIPListInterfacesReply(_pkt, /, *, itemCount=0, identityItems=0)[source]
Bases:
Packet
List 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. ENIPListInterfacesReply
ENIPListInterfacesReply fields itemCount
0
identityItems
0
- class scapy.contrib.enipTCP.ENIPListInterfacesReplyItems(_pkt, /, *, itemTypeCode=0, itemLength=0, itemData=b'')[source]
Bases:
Packet
List 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. ENIPListInterfacesReplyItems
ENIPListInterfacesReplyItems fields itemTypeCode
0
itemLength
0
itemData
b''
- class scapy.contrib.enipTCP.ENIPListServicesReply(_pkt, /, *, itemCount=0, targetItems=None)[source]
Bases:
Packet
List 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. ENIPListServicesReply
ENIPListServicesReply fields itemCount
0
targetItems
None
- class scapy.contrib.enipTCP.ENIPListServicesReplyItems(_pkt, /, *, itemTypeCode=0, itemLength=0, version=1, flag=0, serviceName=None)[source]
Bases:
Packet
List 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. ENIPListServicesReplyItems
ENIPListServicesReplyItems fields itemTypeCode
0
itemLength
0
version
1
flag
0
serviceName
None
- class scapy.contrib.enipTCP.ENIPRegisterSession(_pkt, /, *, protocolVersion=1, options=0)[source]
Bases:
CommandSpecificData
Register 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. ENIPRegisterSession
ENIPRegisterSession fields protocolVersion
1
options
0
- class scapy.contrib.enipTCP.ENIPSendRRData(_pkt, /, *, interfaceHandle=0, timeout=0, encapsulatedPacket=None)[source]
Bases:
BaseSendPacket
Send 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. ENIPSendRRData
ENIPSendRRData fields interfaceHandle
0
timeout
0
encapsulatedPacket
None
- class scapy.contrib.enipTCP.ENIPSendUnitData(_pkt, /, *, interfaceHandle=0, timeout=0, encapsulatedPacket=None)[source]
Bases:
BaseSendPacket
Send 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. ENIPSendUnitData
ENIPSendUnitData fields interfaceHandle
0
timeout
0
encapsulatedPacket
None
- class scapy.contrib.enipTCP.ENIPTCP(_pkt, /, *, commandId=None, length=0, session=0, status=None, senderContext=0, options=0, commandSpecificData=None)[source]
Bases:
Packet
Ethernet/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. ENIPTCP
ENIPTCP fields commandId
None
length
0
session
0
status
None
senderContext
0
options
0
commandSpecificData
MultipleTypeField
(PacketField, PacketField, PacketField, PacketField, PacketField, PacketField, PacketField)None
- class scapy.contrib.enipTCP.EncapsulatedPacket(_pkt, /, *, itemCount=2, item=[])[source]
Bases:
Packet
Encapsulated 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. EncapsulatedPacket
EncapsulatedPacket fields itemCount
2
item
[]
- class scapy.contrib.enipTCP.ItemData(_pkt, /, *, typeId=0, length=0, data=b'')[source]
Bases:
Packet
Common 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. ItemData
ItemData fields typeId
0
length
0
data
b''