Подражать S7 SIemens PLC - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь имитировать ПЛК 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

Соединение с ПЛК устанавливается через сокетное соединение. Сейчас я ищу способ воссоздать этот пакет и ответить соответствующим образом.

1 Ответ

0 голосов
/ 25 мая 2018

Посмотрите на Snap7.

Каким-то образом эта библиотека делает то, что вам нужно. Он действует как S7-PLC и отвечает даже Simatic Manager.

...