Extract navigation data from network packet capture

I am looking to passively extract navigation data from a packet capture on the drone’s network during flight. I am looking for pitch/yaw/altitude/velocity, etc. Hopefully GPS as well.

I am using Wireshark with a network card in monitor mode to capture traffic on the Bebop’s network mid-flight. Wireshark has a built-in dissector for ar_drone packets, but I strongly suspect that it’s meant to dissect packets for the older Parrot A.R. Drone products, and not the Bebop. Wireshark doesn’t detect any ar_drone packets in any of my captures, and nothing happens when I try to “Decode as…” the UDP packets on port 54321 as ar_drone packets.

I resolved to write my own dissector in Lua for Wireshark, but I need to know the structure of the navigation data stream packets. I found this developer’s guide online, however it also seems to be for Parrot’s older drone lineups. According to this excerpt:

The navdata frames have the header 0x55667788, and I couldn’t find that header anywhere in my packet capture. I came to the conclusion that the ARDrone SDK 2 developer’s guide is out of date for the Parrot Bebop. This is unfortunate, because the information contained in the above screenshot is exactly what I need.

I could not locate an equivalent developer’s guide for the ARDrone SDK 3 anywhere. I only found an API reference which, while complete and looks helpful, is not useful to me in my particular situation.

So, my question is, what is the format of the navdata frames coming from the drone during flight across the network? I would love to see something similar to the information in the screenshot I posted above, but for the Bebop drone instead of the older drones.

Thank you

Would that work ?

1 Like