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.ENIPListIdentity(_pkt, /, *, itemCount=0, items=[])[源代码]
基类:
PacketList identity request and response
- 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 | ITEMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListIdentityENIPListIdentity fields itemCount
0items
[]
- class scapy.contrib.enipTCP.ENIPListIdentityItem(_pkt, /, *, itemTypeCode=0, itemLength=0, protocolVersion=0, sinFamily=0, sinPort=0, sinAddress=None, sinZero=0, vendorId=0, deviceType=0, productCode=0, revisionMajor=0, revisionMinor=0, status=0, serialNumber=0, productNameLength=0, productName=None, state=0)[源代码]
基类:
PacketList Identity Item Fields
- 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PROTOCOLVERSION | SINFAMILY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SINPORT | SINADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SINZERO | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | VENDORID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVICETYPE | PRODUCTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REVISIONMAJOR | REVISIONMINOR | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SERIALNUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PRODUCTNAMELENG| PRODUCTNAME | STATE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListIdentityItemENIPListIdentityItem fields itemTypeCode
0itemLength
0protocolVersion
0sinFamily
0sinPort
0sinAddress
NonesinZero
0vendorId
0deviceType
0productCode
0revisionMajor
0revisionMinor
0status
0serialNumber
0productNameLength
0productName
Nonestate
0
- class scapy.contrib.enipTCP.ENIPListInterfaces(_pkt, /, *, itemCount=0, items=[])[源代码]
基类:
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 | ITEMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListInterfacesENIPListInterfaces fields itemCount
0items
[]
- class scapy.contrib.enipTCP.ENIPListInterfacesItem(_pkt, /, *, itemTypeCode=0, itemLength=0, itemData=b'')[源代码]
基类:
PacketList Interfaces Item Fields
- 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. ENIPListInterfacesItemENIPListInterfacesItem fields itemTypeCode
0itemLength
0itemData
b''
- class scapy.contrib.enipTCP.ENIPListServices(_pkt, /, *, itemCount=0, items=[])[源代码]
基类:
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 | ITEMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListServicesENIPListServices fields itemCount
0items
[]
- class scapy.contrib.enipTCP.ENIPListServicesItem(_pkt, /, *, itemTypeCode=0, itemLength=0, protocolVersion=0, flag=0, serviceName=None)[源代码]
基类:
PacketList Services Item 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PROTOCOLVERSION | FLAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SERVICENAME | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPListServicesItemENIPListServicesItem fields itemTypeCode
0itemLength
0protocolVersion
0flag
0serviceName
None
- class scapy.contrib.enipTCP.ENIPRegisterSession(_pkt, /, *, protocolVersion=1, options=0)[源代码]
基类:
PacketRegister 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(_pkt, /, *, interface=0, timeout=255, itemCount=0, items=[])[源代码]
基类:
PacketSend 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INTERFACE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TIMEOUT | ITEMCOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPSendRRDataENIPSendRRData fields interface
0timeout
255itemCount
0items
[]
- class scapy.contrib.enipTCP.ENIPSendUnitData(_pkt, /, *, interface=0, timeout=255, itemCount=0, items=[])[源代码]
基类:
PacketSend 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INTERFACE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TIMEOUT | ITEMCOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ITEMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPSendUnitDataENIPSendUnitData fields interface
0timeout
255itemCount
0items
[]
- class scapy.contrib.enipTCP.ENIPTCP(_pkt, /, *, commandId=None, length=0, session=0, status=None, senderContext=0, options=0)[源代码]
基类:
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ENIPTCPENIPTCP fields commandId
Nonelength
0session
0status
NonesenderContext
0options
0
- payload_guess
Possible sublayers:
ENIPListIdentity,ENIPListInterfaces,ENIPListServices,ENIPRegisterSession,ENIPSendRRData,ENIPSendUnitData,ENIPUnknownCommand,ENIPUnregisterSession
- class scapy.contrib.enipTCP.ENIPUnknownCommand(_pkt, /)[源代码]
基类:
PacketUnknown Command reply
- aliastypes
- class scapy.contrib.enipTCP.ENIPUnregisterSession(_pkt, /)[源代码]
基类:
PacketUnregister Session Command Field
- aliastypes
- class scapy.contrib.enipTCP.ItemData(_pkt, /, *, typeId=0, length=0, data=b'')[源代码]
基类:
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''