This NSE script is used to send a EtherNet/IP packet to a remote device that has TCP 44818 open. The script will send a Request Identity Packet and once a response is received, it validates that it was a proper response to the command that was sent, and then will parse out the data. Information that is parsed includes Device Type, Vendor ID, Product name, Serial Number, Product code, Revision Number, status, state, as well as the Device IP.
This script was written based of information collected by using the the Wireshark dissector for CIP, and EtherNet/IP, The original information was collected by running a modified version of the ethernetip.py script (https://github.com/paperwork/pyenip)
nmap --script enip-info -sU -p 44818 <host>
PORT STATE SERVICE REASON 44818/tcp open EtherNet-IP-2 syn-ack | enip-info: | type: Communications Adapter (12) | vendor: Rockwell Automation/Allen-Bradley (1) | productName: 1769-L32E Ethernet Port | serialNumber: 0x000000 | productCode: 158 | revision: 3.7 | status: 0x0030 | state: 0x03 |_ ipAddress: 192.168.1.123
License: Same as Nmap--See https://nmap.org/book/man-legal.html