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
过滤mavlink协议报文:过滤栏输入mavlink_proto
过滤mavlink消息:过滤栏输入mavlink_proto.msgid == xx ,其中xx为具体的消息id
标签:插件,proto,tcp,7600,mavlink,调试,wireshark From: https://www.cnblogs.com/hjx168/p/18064300