-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overall Code Additions and Modifications for scapy-cip-enip #1
base: master
Are you sure you want to change the base?
Conversation
Added enip.py via upload
Update utils.py
Update plc.py
Update enip_cpf.py
Updated enip_tcp.py and moved portions to enip.py
Update cip.py
Added field classes and function to merge dictionaries for use with ITEM_ID lists in cip.py file
Updated file references to take into account reorganization of some code to new or different files.
Added more CIP packet classes and more scapy_all.bind_layers() statements. Corrected issue of malformed packet creation when communicating with PLC. Modified field types in CIP_ReqForwardOpen for a more favorable display.
Expanded Item ID numbers and changed CPF_Address_Item into CPF_Item and created separate classes for Address and Data Items.
Also updated tests in '__main__' accordingly
Added more scapy_all.bind_layers() statements and altered code and '__main__' to reflect relocation.
Added dictionary of device profiles IDs for EtherNet/IP devices
Updated code reference to reflect relocation of code
Hi Matthew, thanks for the contribution. Let me check for compatibility issues with our existing private projects using this library. I will then pull this afterwards. |
Hi @m4tthew-d, first of all thank you for your contributions 👍 I'll review your list of commits and give you some feedback soon. |
Hi @m4tthew-d , I've tried to split the PR in several parts and this are my feedback: Part 1:
|
Hi @m4tthew-d, @noleti @francozappa Please guide me on the actual 'CIP_REqForwardOpen parameters and path'which should be send as a request to get proper response. Thanks in advance.
|
A description of changes is provided below. The test packets generated in both the enip_tcp.py and enip_udp.py files from your code have remained the same. However I did notice that when looking at the enip_tcp.py test packet in Wireshark, the packet was supposedly malformed. I wanted to make sure you were aware of this.
Added Files:
enip.py
Modified Files:
cip.py
enip_cpf.py
enip_tcp.py
enip_udp.py
plc.py
utils.py