我正在尝试模仿西门子S7 PLC,以便像Nmap,Zgrab和NESSUS这样的扫描仪会将我的Raspberry检测为PLC。当查看NSE脚本voor 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
通过插座连接建立与 PLC 的连接。现在我正在寻找一种方法来重新创建此包并做出相应的响应。
看看 Snap7。
不知何故,这个库可以满足您的需求。它充当S7-PLC,甚至可以响应Simatic管理器。
正如Freeman建议的那样,在Raspberry上安装Windows IoT Core,并使用Snap7在Raspberry上模拟S7 PLC。您还可以使用"软PLC"控制远程IO站。