TCP/IP 如何损坏校验和

How corrupt checksum over TCP/IP

我正在通过 TCP/IP 连接我的从机,使用 Wireshark 软件一切正常我可以验证 CRC 校验和始终有效“良好”,但我想知道我如何破坏 CRC 校验和所以我可以看到校验和“无效”。任何建议我怎样才能完成这个可能 python 代码或任何其他可能的方式。

谢谢大家 塔里克

我认为您使用了计算 CRC 的库。如果你想模拟错误的 CRC 条件,你可以在没有它的情况下形成 Modbus 数据包

首先,请注意 Modbus TCP 不包含任何 CRC,错误控制是通过 TCP 协议本身的适当层处理的。例如,参见 post:

如果你想尝试 Modbus RTU CRC 错误,你可以看看 MinimalModbus (Python) 及其单元测试 MiniMalModbus Unit Tests

如果您喜欢更简单的东西,您可能想看看 ModbusPoll,您可以在其中定义一个从站并模拟 CRC 错误(我认为仅适用于 Modbus RTU)。有30天试用版。

据我所知,我使用的其他库不可能开箱即用:pymodbus 和 libmodbus,但你自己编写类似于 MinimalModbus 单元测试的东西应该不会太难。