我尝试通过端口 8889 打开到 192.168.10.1 的 UDP 连接从我的 Mac 连接到 Tello 无人机,以发送命令并接收来自设备的确认。
使用“Packet Sender”时,它可以工作,但该工具有点笨拙,所以我想只使用 netcat,使用nc -4u 192.168.10.1 8889
,但这不起作用。还尝试使用 iperf 和 gnu netcat,无济于事 - iPerf 返回“连接被拒绝”。ping 到 192.168.10.1 确实有效。
由于 Packet Sender 确实可以立即工作,因此我认为这里没有防火墙或一般连接问题,但我不确定是否需要告诉 nc 除了 IP 和端口之外的其他信息?mac 通过以太网连接到 LAN,通过 WLAN 连接到无人机,但这似乎对 PacketSender 来说不是问题。
答案1
看来 Tello 需要 CRLF 作为行尾,在苹果版 netcat 中,它被激活为-c
/usr/bin/nc -vv -u -c -p 8890 192.168.10.1 8889
在其他版本的 netcat 中,语法会发生变化,通常例如-C
在 kali 中:
netcat -vv -u -C -p 8890 192.168.10.1 8889
请注意,在使用 homebrew 安装的 netcat 版本中没有-C
选项