Modbus TCP

A

Thread Starter

ARod

Hello,

I am a student working on a research project which involves security analysis of SCADA protocols. I am very new to the SCADA field and beginning to gather some information on Modbus TCP, DNP3 etc. I would like to look at Modbus communication by simulating a master and a slave on two hosts. Since this is a school project, I do not have access to any real SCADA system or device and I was wondering if I can use two Windows/Linux machines and run a Master/Slave simulator to generate some traffic. Is this possible? Can I connect these two devices over an ethernet segment and use a master and slave simulator which supports Modbus TCP ? Can you provide suggestions on some freely available simulators for this purpose.

Thanks in advance!
-Aniket
 
I have an open source / free software project called MBLogic that may be useful to you. The project includes a number of different programs, but two in particular may be useful:

1) MBAsyncserver - This is a stand alone Modbus/TCP server (slave).

2) MBPoll - This is a stand alone Modbus/TCP client (master).

Both of these will run on Linux or MS Windows. Both of them can use alternate ports (e.g. TCP/IP ports other than 502).

You can run multiple copies of the server (slaves) on the same PC by using different TCP/IP ports. This means that you can simulate having a large network without actually needing a different PLC for each server (slave). I have tested more than 100 servers running simultaneously, and the only real limit is the capacity of your PC.

MBPoll is a command-line client (master). This means you can use a shell script (or batch file) to start it up and specify the parameters. This means you can start many copies of it simultaneously and be able to generate repeatable results.

You can also modify the source code of both of these either in insert your own monitoring and test code, or to cause them to generate "non-standard" messages. I have special modified versions which I use for creating tests to test my own software.

MBLogic can be found at:
http://sourceforge.net/projects/mblogic/

MBAsyncserver and MBPoll are part of the "MBTools" package. The default download from the above link contains everything, or you can download just "MBTools" via "browse all files".
 
Mark,

Thanks for the information. Let me dig more into your Modbus Slave simulator and I will let you know if I have any questions.

Thanks,
Aniket
 
Hi,

This is great information. Thanks a lot!
I will explore the applications you have mentioned above and will let you know if I have questions.

Thanks again,
Aniket
 
A

automationtechie

We have a full version of SCADA available for demo. The only limitation is that it is for 2 hours at a time. If the 2 hours expire, you will just need to restart the program. We encourage you to try it. If you have any feedback or have any problems, please let us know if we can help.

Here is the product page for King View. There is a link to download the software and manuals.

http://www.icpdas-usa.com/king_view.php
 
Hi,

I have downloaded and installed MBAsyncserver and MBPoll on two Windows PCs using Python. From your manual, I understand that the slave (Server) will maintain a data table to save the coil and register values in memory. I also understand that the Master (client) will poll the server for these values. However, I don't seem to find a way to edit or view this data table. Can you please provide instructions on how to read or look at the data table ? Is this something I would have to program on my own. I would also like to mention that I do not have access to any PLC or SCADA device, so I am currently testing this only between two PCs. Since I am not very familiar with programming languages/coding, I would appreciate if you can give me some directions. Thanks a lot!
 
Top