You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SharpPcap中设置过滤器获取Modbus/TCP数据?

解决SharpPcap中过滤Modbus/TCP数据的问题

问题根源

SharpPcap依赖libpcap的捕获过滤语法,而Wireshark中使用的mbtcp或modbus and tcp属于Wireshark专属的显示过滤语法,两者规则不兼容。libpcap无法识别上层应用层的mbtcp关键字,因此直接套用会触发语法错误。

可行的过滤方案

  • 默认端口场景:使用tcp port 502作为过滤器。这是libpcap支持的标准规则,可捕获所有目标或源TCP端口为502的流量,覆盖绝大多数Modbus/TCP通信。
  • 自定义端口场景:若你的Modbus/TCP使用了非默认端口(如1502),修改为tcp port 1502;多端口则用tcp port 502 or tcp port 1502。

补充验证

捕获到流量后,可在代码中进一步解析TCP负载,检查Modbus协议的特征字段(如功能码、事务标识符等),确保过滤到的是有效Modbus/TCP报文。

内容的提问来源于stack exchange,提问作者Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 13:03:17