Я пытаюсь имитировать ПЛК SIEMENS S7, чтобы такие сканеры, как Nmap, Zgrab и NESSUS, распознавали мою Raspberry как ПЛК. Если посмотреть на сценарий NSE или Nmap (на основе lua), становится ясно, что ответ может быть декодирован со следующей структурой:
DATA DATA TYPE Location in response
Protocol ID C 8
SZL-ID C 31
Module information z 44
Basic Hardware z 72
Version Number CCC 123
Plant ID z 108 + offset
Copyright z 142 + offset
Serial Number z 176 + offset
System name z 40 + offset
Module Type z 74 + offset
Where: z is a zero-terminated string
C is an unsgined char
offset = 4
Соединение с ПЛК устанавливается через сокетное соединение. Сейчас я ищу способ воссоздать этот пакет и ответить соответствующим образом.