自动发现网络中 modbus 设备的从站 ID
Auto Discovery of the slave id of modbus device in a network
如何通过广播机制获取有效的ip范围后判断接入网络的设备是否为modbus设备或如何自动发现接入网关的modbus设备的slave id?
在 Modbus TCP 上下文中,slaveId 不用于标识 Modbus 设备。如果设备支持 Modbus TCP/UDP.
,则 IpAddress 用于识别 Modbus 设备
如果你想发现局域网中的Modbus设备,如你所说,你可以向所有IP地址范围发送广播消息。但是,没有要轮询的预定义寄存器地址。每个 Modbus 设备可以配置不同的地址位置。
发送每个 TCP 连接请求:502。
然后对于每个连接的设备,例如 Modscan 工具,您可以编写自定义逻辑来扫描每个发现的 Modbus 设备中的所有寄存器。
您可以尝试使用 nmap:
here你可以找到使用教程。
你也可以使用Metasploit-framework(msfconsole):
- Modbus Client Utility,你可以read/write到modus设备
- Modbus Version Scanner,检测modbus服务
- Modbus find unit ID,它只在modbus下工作TCP/IP,它发送请求“0x04”到所有的modbus ID(0-254)并检查响应。
如何通过广播机制获取有效的ip范围后判断接入网络的设备是否为modbus设备或如何自动发现接入网关的modbus设备的slave id?
在 Modbus TCP 上下文中,slaveId 不用于标识 Modbus 设备。如果设备支持 Modbus TCP/UDP.
,则 IpAddress 用于识别 Modbus 设备如果你想发现局域网中的Modbus设备,如你所说,你可以向所有IP地址范围发送广播消息。但是,没有要轮询的预定义寄存器地址。每个 Modbus 设备可以配置不同的地址位置。
发送每个 TCP 连接请求:502。
然后对于每个连接的设备,例如 Modscan 工具,您可以编写自定义逻辑来扫描每个发现的 Modbus 设备中的所有寄存器。
您可以尝试使用 nmap:
here你可以找到使用教程。
你也可以使用Metasploit-framework(msfconsole):
- Modbus Client Utility,你可以read/write到modus设备
- Modbus Version Scanner,检测modbus服务
- Modbus find unit ID,它只在modbus下工作TCP/IP,它发送请求“0x04”到所有的modbus ID(0-254)并检查响应。