【问题标题】:dev/ttyO0 used in AR Drone 2.0 - Reverse EnginneringAR Drone 2.0 中使用的 dev/tty0 - 逆向工程
【发布时间】:2015-07-20 14:35:39
【问题描述】:

我从 Parrot 阅读了一篇关于 AR Drone 2.0 编码的有趣文章。在这段代码中,他们使用 nodeJS 与无人机对话。因此,代码首先创建一个流到/dev/ttyO0

我开始了解更多关于 linux 功能的背景知识,并想知道:

  • 您最初是如何发现正在使用 dev/ttyO0 的,例如在 linux 上运行的无人机上。我认为这是一种逆向工程,但因此使用了哪些工具或命令?
  • 当我想对无人机这样的系统进行逆向工程并找出正在发送的命令时,是否有类似“嗅探器”的东西来找出正在发送的命令?

我知道这不是一个简短而简单的答案,但我很乐意了解更多相关信息或找出在哪里了解相关信息。但最初寻找合适设备的问题会非常有趣。

谢谢

【问题讨论】:

    标签: linux reverse-engineering ar.drone


    【解决方案1】:

    我不知道你问题第一部分的答案,但我可以回答第二部分。

    是的,AR.Drone 使用 TCP 和 UDP 进行无人机和控制器应用程序之间的所有通信,包括命令、遥测和视频。您可以使用标准网络嗅探器,例如 tcpdump 或 Wireshark。连接无人机时,其默认 IP 地址为 192.168.1.1。配置嗅探器以捕获进出该地址的所有流量。以下是您可以看到的一些亮点:

    • Command/"AT" comms, UDP on port 5556: 此端口用于向无人机发送命令。命令采用 ASCII 格式,类似于 AT*...,例如 AT*REF=7,256AT*PCMD=7,1,-1110651699,0,0,1050253722AR.Drone Developer Guide 的第 6 节描述了大部分(但不是全部)命令。

    • Navdata,UDP 端口 5554:这是从无人机发送的二进制编码数据,包含传感器数据和有关无人机状态的信息。它包括气压、高度估计、位置估计、飞行模式和 GPS(如果您的无人机配备了 GPS)。由于您提到了 Javascript,所以 node-ar-drone 库中的文件 parseNavdata.js 包含解析导航数据的代码。

    • 视频,端口 5555 上的 TCP:这是来自无人机的实时视频,采用几乎但不完全的 H264 格式,称为 PaVE。该格式记录在开发者指南的第 7.3 节中,大多数与 AR.Drones 对话的库都可以解析该格式。

    您可能会注意到的另一件事:

    • FTP:官方控制器应用使用标准 FTP 向无人机发送星历文件,其中包含有助于 GPS 更快锁定的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      • 2012-08-26
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 2021-09-25
      相关资源
      最近更新 更多