mavlink wireshark调试

生成wireshark插件

在mavlink generator工程下,执行如下shell语句,生成wireshark 插件(lua脚本文件)

python3 -m pymavlink.tools.mavgen --lang=WLua --wire-protocol=2.0 --output=mavlink_2_common message_definitions/v1.0/common.xml

其中,--output 指定生成的插件名称;其后带mavlink xml文件(如上为common.xml)

修改wireshark插件

在生成的lua脚本中最下几行,修改mavlink协议对应的传输层协议和端口号(如下示例为tcp 7500 7600端口)

local tcp_dissector_table = DissectorTable.get("tcp.port")
tcp_dissector_table:add(7500, mavlink_proto)
tcp_dissector_table:add(7600, mavlink_proto)

安装插件

将lua脚本文件,放置在wireshark软件的安装目录 Wireshark\plugins下,通过如下方式生效:

  • 重新打开wireshark软件;
  • 快捷键 ctrl+shift+L 即时生效;

tcpdump抓包方式

tcpdump -i any port 7500 or port 7600 -w mavlink.pcap

如上,抓取端口为7500或7600的报文,保存为mavlink.pcap

img

过滤mavlink协议报文:过滤栏输入mavlink_proto

过滤mavlink消息:过滤栏输入mavlink_proto.msgid == xx ,其中xx为具体的消息id

posted @ 2024-03-10 16:10  流翎  阅读(838)  评论(2)    收藏  举报