工具
PCAP 分析器
登录后可跨设备保存划线和私人笔记登录
PCAP Analyzer 会通过 PLC4X 编解码器回放捕获到的协议流量,并报告出现的问题。
对于每个数据包,它都会将应用层负载送入真实的 PLC4X 编解码器,对解析后的消息重新序列化,然后将结果与原始字节进行比对。若不一致,则说明该消息的读取器与写入器存在分歧,这使得该工具成为编解码器本身的回归测试工具——同时也是查明驱动为何在某个特定设备上失败的好方法。
它使用 Go 编写,位于 plc4x-extras 仓库中。
| 如果你想将捕获的数据回放到正在运行的驱动中,而不是回放到编解码器中,请参阅 Capture Replay 和 PCAP Replay 传输。 |
|---|
构建与运行
cd plc4go
go run ./tools/plc4xpcapanalyzer ui --demo或者构建一个独立的可执行文件:
go build -o plc4xpcapanalyzer ./tools/plc4xpcapanalyzer分析器通过 gopacket/pcap 读取抓包数据,因此 需要 cgo 和 libpcap。使用 CGO_ENABLED=0 构建会失败。 | |
|---|---|
| --- | -------------------------------------------------------------------------------------------------------------------------------------- |
命令
plc4xpcapanalyzer analyze <protocol> <capture> # parse, reserialize and compare
plc4xpcapanalyzer extract <protocol> <capture> # dump the application payloads
plc4xpcapanalyzer ui [capture] # the interactive terminal interface支持的协议为 bacnetip 和 c-bus;bacnet 和 cbus 被接受为别名。
extract 只在详细程度为 2 及以上时才打印负载,因此请传入 -vv。
配置
设置来源于三处,按通常的顺序:内置默认值会被持久化的会话配置覆盖,而持久化配置又会被命令行上的标志覆盖。conf set 写入的是持久层,因此已保存的设置在重启后依然保留,同时绝不会覆盖显式传入的标志。
| 恰好等于默认值的标志与未设置的标志无法区分,因此对于该字段,以持久化的值为准。 |
|---|
评论
登录后参与评论
正在加载评论…
KnowForge