在Modbus TCP的上下文中,slaveId不用于标识Modbus设备。如果设备支持Modbus TCP / UDP,则IpAddress用于标识Modbus设备。
如果您想在局域网中发现Modbus设备,如上所述,您可以向所有IP地址范围发送广播消息。但是,没有预定义的寄存器地址可供轮询。每个Modbus设备可以配置不同的地址位置。
发送每个的TCP连接请求:502。
然后对于每个连接的设备,如Modscan工具,您可以编写自定义逻辑来扫描每个发现的Modbus设备中的所有寄存器。
你可以尝试使用 的 NMAP 强> :
这里 你可以找到要使用的教程。
你也可以使用 Metasploit的框架(msfconsole) :