2016-04-14 67 views
0

我有2台设备使用Modbus进行通信,我希望使用Python来嗅探此通信线路以进行日志记录。我通过Modbus加密狗将我的电​​脑连接到通讯总线,但我不知道如何才能真正读取数据。使用python进行Modbus嗅探

我以前也使用过Pymodbus,但我不认为那会在这种情况下工作,因为它仅允许主或从设备(据我所知)

是否有任何其他图书馆,我可以用于我的目的?我能否在COM端口上实现类似只读套接字的东西,而不会干扰总线上现有的通信?

谢谢!

+0

本质上,它是基础中的基本串行连接,如果您可以设置不干扰A与B之间传输的连接,则可以将数据作为原始数据读取并进行解析。是的,通常pymodbus将是一个奴隶或一个主人,因此解析相应的数据,但你基本上想要'tcpdump',但对于串行数据?在转储原始串行数据之后,您将自行完成一些解析。如果可能,请使用http://freecode.com/projects/linuxserialsniffer/ – Torxed

回答

-1

您可以尝试一个MODBUS模拟器,如this其中:它有一个选项可以查看总线上的活动。

如果你想使用另一个python MODBUS,我推荐使用modbus_tk。它有一个关于如何创建MODBUS模拟器的例子。但为了能够嗅探发送到其他设备的数据包,您需要做一些修改来禁用自动响应。

如果您想要做的唯一事情是看到公交车上的活动,我推荐第一个选项。

我希望这可以帮助你。

[编辑]:具体而言,您将需要下载以下软件:的Modbus投票 - MODBUS从模拟器(这在Windows上运行),并在您打算使用的端口堵塞你的MODBUS适配器。完成串行通讯的所有设置后,请转至显示屏选项卡并单击通讯。您将能够看到线上的流量。

+0

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/14126442) – Julien

+0

感谢您的建议,我会尽力改进我的帖子 – aoprisor