I would like to know if a tool or software exists that can search (a sort of pinging) a RS-485 network or a TCP/IP network for all available Modbus devices.
Since Modbus/TCP is connection oriented, the only thing you can do is to try to establish a connection to all hosts available on your network using the standard Modbus/TCP port. However, this is the port scanning, an operation which is deemed evil by many system administrators, so you better keep it local to your network, or even to your segment of the network
Yes, Woodhead Software & Electronics provides a software driver solution for Modbus TCP that sniff the slaves present on the network during the configuration.
I know of no commercial or public tool. If you know the port settings, then just poll 1 register at 4x00001 from all slaves 1-255 would tell you who is on-line.
If however (as happens) you have an old PLC from the spares room that could be any setting, you'd need to repeat the above in all baud rates from 300 to 38K, with all parity settings (N,E,O) in both Modbus/RTU and
Modbus/ASCII. Of course a computer won't complain and can spend a few hours carefully doing this. Or pull the battery on the PLC.