AnkerMake M5はAnkerから発売されている3Dプリンターである。

上記画像のような、WindowsのAnkerMakeアプリであったり、スマホのAnkerMakeアプリで印刷開始、中断、停止、予熱操作、ヘッドの移動といった操作を行うことが出来る。

    何がしたかったのか

    AnkerMakeはアプリにUIだけ実装して「今後プラグインとかが増えるかもね!?」という思わせぶりだけさせといて、プラグイン自体はまだ1つもない。サードパーティ製のプラグインなんてのもまだ聞いたことない。

    何がしたかったのかというと、「特定の時間になったら印刷開始してね」だ。遅延印刷、時間指定印刷等、一切この辺は公式が機能を用意してくれていない。

    考察

    まあAnkerMakeアプリから何らかのパケット(データ)をAnkerMakeに送信して操作しているんだろう。と思っていた。

    もしそんな単純なシステムであればすでにGitHub上に様々なコードが散らかっているはずである。

    ちなみにそんな単純であれば、まあ有志の方々のコードを使えばAnkerMakeアプリを使わずに操作はできそうなものだし、自分でパケット解析して、同じようなパケットを投げ飛ばすコードでも書けば操作できるやろとか、そんなことをちょっと思った。

    様子がおかしい

    どういうデータが流れているのか、Wiresharkで見てみよう。と思って、操作元マシン(Windows)からAnkerMakeに対して流れているデータを見ようとしたところ、一時停止、開始等のボタンを押しても一切パケットが流れないのである。

    パケットがまっさら。なにも出ない。

    AnkerMake M5にはカメラがついており、その映像をアプリから見られるのだが、

    そのパケットだけ見ることが出来た。(UDPで投げつけられてた)

    再考察

    AnkerMake M5はAnkerアカウントでログインしたAnkerMakeアプリ出なければ操作できない。

    ここに来てようやく察してしまった。(遅い)

    AnkerMake用のサーバを経由して操作を行っているのではないかと。

    再度パケットを監視した結果

    俺がAnkerMakeと通信してるパケットや!!って中に書いてあるわけじゃないし、リピーター機能持ちのハブとか持ってないからこのAnkerMake用のサーバ?とうちのAnkerMake M5が本当に通信している、っていうのが見られないので推測として。

    (ルーター調べたらわかりそうだけどめんどそうだからとりあえず今日はナシ 調べたら追記するかも)

    停止ボタンを押したときにパケットが流れたり、↑のような温度データと同じタイミングでパケットが流れるので恐らくほぼ確定だと思う。(絶対ではない)

    こいつ外部(AnkerMake用のサーバ)経由して操作してる

    パケットを見るとDestination Address(送信先)が「ec2-3-66-80-192.eu-central-1.compute.amazonaws.com」となっている。

    というか、AnkerMake以外にAmazon EC2と直接何度もやり取りするような通信ないし。(これも推測になるが)

    最近偶然AWSのハンズオンに参加したので知ったのだが、Amazon EC2はAWS上で動作するコンピューティングプラットフォーム。仮想マシンみたいなやつ。(と認識してる)

    AWSのリージョンはこれかな。

    というか

    ・外部を経由している

    ってことは

    当然、暗号化されており。

    無理でした。

    公式が対応してくれでもしない限り、無理だね。

    Ender-3シリーズならwi-fi機能とかはついてないけどUSBでラズパイ繋いで、OctoPiみたいなやつ入れると遠隔で操作が出きるっぽくて。そういうのならスクリプト組んで時間差で動作・・・とかも出来そうだけれどもね。

    AnkerMakeはやはり「一つですべてが完結したシステム」って感じなのを改めて再認識させられた。

    おまけ

    さっきのやつ

    406bytesのパケットが温度とかのデータっぽくて、360bytesのパケットが停止ボタン押したときに送信したパケットっぽい。(体感)

    どうでもいいね★

    投稿者 nekoy3

    猫山さん。 そこら辺の情報系大学生。 ツイ廃しすぎてSNSに大半の時間を吸われており、自己規制欠けたらQOLが上がりかけててわろてる。(笑い事じゃない)

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    CAPTCHA