ルーター・デバイス・Starlink
Starlink、ルーターの診断、自宅のWi-Fiに接続した新しいデバイス、自宅のMac。
Starlink
Starlinkアンテナのネットワークでは、ヘルスにStarlinkパネルが表示されます。Kilobatは、ネットワークが変わったときと、それ以外は5分ごとに、192.168.100.1(Starlinkアプリが使うアドレス)にアンテナの状態を問い合わせて見つけます。アンテナがなければ約1秒で失敗し、何も表示されません。自分のネットワーク上でgRPC-Web(ポート9201)またはgRPC(ポート9200)でアンテナのローカルAPIを読み取るだけで、アンテナを収納、再起動、再設定することはありません。アンテナについての情報がMacの外に送られることはありません。
- 状態。オンライン、障害物あり、検索中、再起動中など。Starlinkの地上局へのpingとそのロス、アンテナが今すべてのデバイスで送受信している量、稼働時間、ソフトウェアのバージョン。
- 警告をわかりやすい言葉で、対処法とともに表示:高温による速度低下や停止、融雪中、モーターが動かない、マストの傾き、サービスエリア外、低速なケーブル、浸水、再起動待ちのアップデート。
- 空のマップ。アンテナ自身の障害物マップをKilobatの配色で表示します。衛星がはっきり見えた場所は青、何かに遮られた場所はローズ色で、方向と高さを「北東の低い位置(木、建物、丘など)に障害物があります。」のような1文で示します。空が遮られる頻度と長さも表示します。
- 通信障害はアンテナのログから取得してMacに30日間保存し、それぞれを解決できる側に分類します:お使いの設備(障害物、高温、省電力、ケーブル)、Starlinkのネットワーク(衛星が見えない、地上局から応答がない)、アンテナの再起動(アップデート、位置調整)。プロバイダに渡せるレポートにはこのログが含まれますが、アンテナのシリアル番号や位置は含みません。
- 通話。アンテナの通信障害中や遮られている間の通話のフリーズは、その原因として示されます:空が遮られた、衛星が見えなかった、アンテナが再起動した。
- データプラン。Roam 100 GB、Roam 300 GB、無制限:上限のあるプランではネットワークを従量制にし、Proなら上限に合わせて月間予算を設定します。予算はこのMacの分を数えます。パネルには、直近15分間にアンテナがすべてのデバイスで送受信した量も表示されます。
アンテナの状態、ping、警告、空が遮られている割合、空のマップは無料で、kilobat starlinkとそのMCPツールも無料です。どの方向で遮られているかと何を動かせばよいか、原因の側ごとに分類した通信障害、通話のフリーズやカクつきの原因としてのStarlink、プロバイダに渡せるレポート内のアンテナのログ、Roamの予算はKilobat Proの機能です。自分のルーターをバイパスモードで使っている場合も、たいていアンテナにはアクセスできます。できない場合は、ルーターのWANポート経由で192.168.100.0/24へのルートを追加してください。ターミナルではkilobat starlinkで同じ内容を表示でき、エージェントはget_starlink_statusで読み取れます。
ルーターの診断
ルーターの中には、長く動かしているうちに遅くなり、再起動するとしばらく元に戻るものがあります。Kilobat Proでは、「ヘルス」がこれを見守って知らせます:「ルーターが遅くなってきています。3日間、応答に19 msかかっています(通常は4 ms)。直近3回とも、再起動で直りました。」使うのは、Kilobatがもともと約1分に1回行っているバックグラウンドのチェック(ルーターへのpingと名前解決)です。大きなダウンロードや通話、ホテルのログインページがあると、どんなルーターでも遅く見えるため、Mac自身の通信が少なく、Wi-Fiのサインインページにも妨げられていなかったときのチェックだけを数えます。ネットワークに余分な通信は発生しません。
判断を始めるには、そのネットワークで十分な数の静かなチェックがある日が7日分必要です。比べる相手は各ルーター自身、つまり直前2週間の通常の1日です。知らせるのは、データのある直近3日間のどの日もはっきり悪化しているときだけです:応答が通常の2倍以上かつ5 ms以上遅い、失われたpingが3ポイント以上多い、または接続が1日3回以上切れる。たまたま調子の悪い夜、週末の外出、混み合った午後は数えません。Wi-Fiの信号が弱くなった、帯域が変わった、別のメッシュのアクセスポイントにつながった、という場合も同じで、そのときは「ヘルス」がそちらを示します。ルーター経由の名前解決が遅くなった場合は言及しますが、プロバイダのサーバの時間も含むため、それだけで知らせることはありません。ネットワークとルーターごとに別々の履歴を持ち、同じネットワークでも新しいルーターなら最初からやり直します。
ルーターを再起動したら再起動しましたをタップしてください。Macが起動中にルーターが30秒から10分間見えなくなり、同じルーターが戻った場合、Kilobatは再起動を自動検出します。翌日に前後1日とルーターの通常値を比較し、「再起動後:4 msに回復 ✓」または改善しなかった旨を表示します。その履歴が次の診断結果の根拠になります。再起動が2回役立たなかった場合は、ファームウェアのアップデート、開けた場所への移動、古いルーターなら買い替えを提案します。MacのWi-Fi切断も同じように見えるため、Kilobatが検出しただけの再起動は効果がなかった回数に数えません。下記の方法でルーターを接続すると、Kilobatはルーター自身の稼働時間を読み取るため、Macがスリープ中の夜間を含むすべての再起動を集計します。通知は低速化ごとに1回、最大週1回です。「設定」›「監視」でオフにできます。ターミナルではkilobat routerでルーターの通常値と現在、過去2週間、再起動を表示し、エージェントはget_router_checkupから取得します。
自宅のWi-Fiに接続した新しいデバイス
自宅のネットワークで「ツール」›「デバイス」を開き、これは自宅のネットワークをオンにします(「設定」›「ネットワーク」でも設定できます)。Kilobatはまず、すでにあるデバイスをすべて黙って覚え、その後は数分ごと(低電力モードでは15分ごと)に確認して、見たことのないデバイスが接続すると通知します。通知には「新しいデバイスが接続しました」とネットワーク名、続いてデバイスの名前またはメーカー、アドレス、接続した時刻が表示されます。自分のデバイスですを選ぶとそのまま記録され、見覚えがないを選ぶと「デバイス」でそのデバイスが開き、Kilobatが把握している情報と対処法が表示されます。対処法は、ルーターの接続デバイス一覧で探し、それでも見覚えがなければWi-Fiのパスワードを変更することです。新しいデバイスには一覧で「新規」バッジが付き、そこでそれぞれに名前を付けたり、自分のものか、不明か、無視するかを指定したりできます。Kilobatが見守るのは指定したネットワークだけで、テザリングやカフェのネットワークは指定しない限り対象になりません。
確認のたびに、Macのサブネット内の各アドレス(最大254個)に空のパケットを1つずつ送ってmacOSに応答するデバイスを把握させ、その後Macのネイバー一覧を読み取ります。新しいデバイスが名乗る名前は、ネットワーク内のルーターとBonjourから得たもので、ネットワーク外のDNSサーバから取得することはありません。スマートフォンやノートパソコンはプライベートWi-Fiアドレスを使うため、メーカーがわからず、アドレスが変わることもあります。Kilobatは、Ritas-iPadのようにそのデバイス固有の名前があれば、アドレスが変わっても同じデバイスだと認識しますが、iPhoneのように同じ種類のデバイスすべてが使う名前では認識できません。スリープ中のデバイスや応答しないデバイスは表示されないことがあります。Kilobatが見つけた内容は、Mac上のファイルに保存されます。ルーターの通信量カウンタ(UPnP)を使える場合、通話レポートがネットワーク上のほかのデバイスを原因としたときに、フリーズ前の10分間に接続したデバイスがちょうど1台なら、その名前を示します:「リタのiPadのダウンロードが原因」。ターミナルでは、kilobat devicesで各デバイスを新規・既知・不明・無視としてマークし、kilobat devices mark <MAC> mineで1台について回答します。新しいデバイスの通知は、「デバイス」タブと同じくKilobat Proの機能です。
デバイスの種類とカメラのアップロード
「デバイス」には各デバイスの種類を表示します。カメラ、ドアベル、テレビまたはストリーミング端末、キャスト先デバイス、スピーカー、プリンタ、スマートプラグまたはスイッチ、ハブまたはブリッジ、ゲーム機、スマートフォンまたはタブレット、コンピュータ、ドローンまたはアクションカメラ(DJI、GoPro、Insta360)、ルーターまたはメッシュノード、NAS、不明です。Kilobatは、デバイスがネットワーク上で公開するBonjourサービス(Google Cast受信機、AirPlay、プリンタ、Sonos、HomeKitアクセサリのカテゴリ、Matterデバイスの種類)、ネットワーク上に提供されるUPnPの説明、アドレスに登録されたメーカー、使用する名前から判定します。これらからモデル名とメーカー名のみを保持し、スピーカーやテレビに付けた名前は保持しません。デバイス自身が種類を示す場合は「カメラ(Wyze)」と表示します。メーカーや名前だけが手掛かりの場合は「おそらくカメラ(Wyze)」や「もしかするとスマートプラグまたはスイッチ」と表示し、新しいデバイスの通知で「新しいWyzeカメラが接続しました」のように種類を示すのは確実な場合だけです。HomeKitとMatterのデバイス、HomePod miniやApple TVなどのThreadボーダールーターにはタグが付きます。判定が誤っていたらデバイスの詳細で種類を選ぶか(推測を抑える「種類不明」も選択可能)、kilobat devices type <MAC> cameraを実行してください。autoでKilobatの判定に戻します。kilobat devices --jsonとMCPのlist_devicesにはtype、confidence(設定済み、高、中、低)、typeLabel、tagsが追加されます。
クラウドカメラは常時、イベント発生時、またはライブ映像の視聴中にアップロードし、通話や配信と帯域を取り合う場合があります。KilobatはMacから他のデバイスの通信量を確認できないため、単独ではクラウドカメラが大量にアップロードする場合があることと、メーカーの公表値のみを示します。GoogleはNestカメラについて0.15~4 Mbps、常時録画で月最大300~400 GB、Ringはデバイス1台あたり720pで1 Mbps、1080pで2 Mbps(2Kで10、4Kで15 Mbps)、Arloはモデルによりカメラ1台あたり1~3 Mbps、ドアベル1台あたり2 Mbpsと公表しています。これらはメーカーの数値であり、お使いのカメラの測定値ではありません。現在のルーター連携ではカメラごとのインターネットへのアップロードを測定できません。UniFiとMikroTikのクライアントカウンタにはローカル通信が含まれることがあり、OpenWrtのnlbwmonは検証済みのインターネットインターフェースではなく設定されたローカルサブネットを横断する通信を集計し、FRITZ!Box TR-064には家全体のカウンタしかありません。そのためKilobatはルーター接続時もカメラのアップロードについてメーカーの公表値を表示します。ルーターのクライアント合計をカメラのインターネット使用量や家全体のアップロードに対する割合に換算しません。最新の速度テストでアップロード中にpingが60 ms以上上昇した場合は「ヘルス」で、別のデバイスのアップロードで通話が止まった場合は通話レポートでカメラに言及します。
自宅のMac
家族みんながMacを使っているなら、Kilobatを実行しているMac同士で、今どれだけ通信しているかを伝え合えます。ルーターがほかのデバイスのせいだと判断したフリーズにも、「ネットワーク上のほかのデバイス」ではなく「AnnaのMacBookのダウンロード(Steam)が原因」と具体的な名前が付きます。使えるのは自宅のネットワークとして設定したネットワークだけで、ペアリングしたMac同士に限られます。共有は、それぞれのMacでオンにするまでオフです。
2台のMacをペアリングするには、自宅のWi-Fiで両方のMacの「設定」›「自宅のMac」を開き、それぞれでMacをペアリングを選択します。どちらかのMacで、一覧から相手のMacを選びます。両方のMacに同じ6桁のコードが表示されるので、一致していることを確認して、両方でコードが一致を選択します。一致しない場合はキャンセルしてください。共有するMacではそれぞれこのMacの使用状況をペアリング済みのMacと共有をオンにし、コンピュータ名がわかりにくければ名前を付けます。ペアリングを解除を選ぶと、相手のMacとその鍵が削除されます。
ペアリング済みのMacが共有するのは、名前、その時点のダウンロードとアップロードの速度、最も通信の多い3つのアプリの名前、通話中かどうかです。通信先のサイトやサーバ、履歴は共有しません。相手のMacが数秒ごとに問い合わせるのは、通話中、「デバイス」または「自宅のMac」の設定を開いているとき、kilobat householdを実行したときだけです。サーバは経由しません。Mac同士はネットワーク上のBonjourで互いを見つけて直接やり取りし、2台だけが持つ鍵をそれぞれのMacのキーチェーンに保管します。要求には署名が付き、応答は暗号化されるため、同じWi-Fi上のほかのデバイスが読み取ったり再送したりすることはできません。macOSは一度だけ「ローカルネットワーク」へのアクセスを求めます。オフになっている場合は、設定にオンにする場所が表示されます。
「ツール」›「デバイス」では、ペアリング済みのMacにKilobatバッジが付き、速度と最も通信の多いアプリが表示されます。通話中は、通話をフリーズさせるほど通信しているペアリング済みのMacがあれば、メニューに表示されます。共有はどのKilobatでも使えます。ほかのMacを見たり、通話レポートでその名前を示したりするのは、見る側のMacのKilobat Proの機能です。ターミナルでは、kilobat householdでペアリング済みのMacとそれぞれの状況を一覧でき、--jsonでスクリプト向けに同じ情報を取得できます。ペアリングはアプリでのみ行います。
ルーターを接続
KilobatはこのMacの通信を自身で集計します。対応するルーターを接続すると、「ツール」›「デバイス」でその通信カウンタを確認できます。デバイス別カウンタを持つルーターでは、各デバイスの現在のダウンロードとアップロード、今日の記録済み合計を付けた名前で表示します。FRITZ!Boxが提供するのはデバイス一覧と家全体の通信量のみです。Kilobatはルーター自身のローカルインターフェースにサインインして読み取るだけです。ルーターに何もインストールせず、設定も変更しません。自宅として指定したネットワーク上のローカルアドレスでのみ動作し、パスワードまたはAPIキーはこのMacのキーチェーンに保存され、ファイルに保存されたり同期されたりしません。「デバイス」または「設定」›「ルーター」でルーターを接続を選択します。Kilobatはネットワーク上の応答からFRITZ!Box、UniFi、MikroTik、OpenWrtを認識し、アドレスを入力します。
- FRITZ!Box(TR-064):「System」›「FRITZ!Box Users」でKilobat専用のユーザを追加し、「FRITZ!Box Settings」権限を付与してインターネットからのアクセスを無効にします。この権限で回線の合計と機器の稼働時間を読み取ります。「Voice messages」権限だけでもデバイス一覧と回線速度を確認できます。TR-064はオンラインのデバイスを一覧表示しますがデバイス別の通信量は提供しないため、KilobatはこのMacとペアリング済みのMacを名前で表示し、回線の残りを他のデバイスとして表示します。Kilobatは機器にHTTPSポートを問い合わせて接続します。
- UniFi(UniFi Network 9.3以降):「Settings」›「Control Plane」›「Integrations」でAPIキーを作成します。公式APIはクライアントを一覧表示し、コンソールが許可する場合はコントローラの旧統計APIから各クライアントの通信量を取得します。そのAPIを利用できない場合はその旨を表示し、読み取れるカウンタのみを示します。クライアントカウンタには自宅ネットワーク内の転送が含まれることがあるため、インターネットのみの合計ではなくデバイスの通信量です。Integrationsがない古いコンソールではローカルアカウントでサインインします。
- MikroTik(RouterOS 7 REST API):証明書付きの
www-sslをオンにし、readとrest-apiのポリシーだけを持つグループにユーザを追加します。デバイス別の通信量を見るには、「IP」›「Kid Control」で制限のないプロファイルを追加するか、デバイスごとにsimple queueを作成します。それ以外の場合は回線全体の数値になります。キューのカウンタにはローカル転送が含まれることがあり、FastTrackなどキューを通らない通信は含まれないため、デバイスの完全なインターネット使用量ではありません。 - OpenWrt(LuCIのubusインターフェース):rootまたは
/etc/config/rpcdで設定したユーザとしてサインインします。デバイス別の通信量には、約30秒ごとに集計するluci-app-nlbwmonをインストールしてください。ない場合は回線全体の数値になります。 - その他のルーター:共有されるUPnPカウンタは家全体のみを対象にします。
独自の証明書を使うルーターは初回にフィンガープリントを表示します。ルーター上の値と照合してから信頼して接続を選択してください。以後Kilobatはその証明書だけを信頼し、変更された場合は通知します。「デバイス」、「設定」、または通話を開いている間は10~15秒ごと、それ以外は数分ごとにルーターを読み取ります(FRITZ!Boxはカウンタが4 GBで一巡するため2分ごと)。日別合計はこのMacで自宅ネットワークごとに分けて30日間保持します。Kilobatが観測した期間のみを対象とするため、Macのスリープや切断による空白がある日は部分的な合計になる場合があります。通話中のフリーズでは、その時点でカウンタが最も多かったデバイスを「寝室のテレビがネットワーク通信中」のように表示することがあります。カウンタにはローカル転送が含まれる場合があるため、これは観測結果であり、デバイスがフリーズを引き起こした証拠ではありません。ルーターのカウンタをペアリング済みMacの報告や新しく接続したデバイスより優先し、ルーター診断ではルーター自身の稼働時間から再起動を数えます。ターミナルではkilobat router devicesでアプリ経由の全デバイスを一覧表示し(スクリプトには--json、エージェントにはget_home_usage)、kilobat router connectで各ルーターの手順を表示、kilobat router disconnectでルーターとパスワードを削除します。CLIはルーターのパスワードを受け取りません。ルーター接続はKilobat Proの機能です。
ファームウェア:ルーター自身のインターフェースが示す場合、「デバイス」と「ヘルス」に「FRITZ!OS 8.10を利用できます。現在は8.00です」のように新しいバージョンを控えめに表示し、ルーター自身の更新画面へのボタンを付けます。FRITZ!Boxは新しいFRITZ!OSを自身で検出したかを示し、UniFi Networkはゲートウェイを更新可能とマークします。RouterOSは「System」›「Packages」で誰かが最後に「Check For Updates」を選んだときのバージョンを表示します(Kilobatはそのチェックを実行しません)。OpenWrt自身のリリースについては、downloads.openwrt.orgから週1回読み取る公開リリース一覧と比較します。プロジェクト自身のビルドのみが対象です。Kilobatがアップデートを開始、ダウンロード、インストールすることはありません。Kilobatが名前を認識していても接続されていないルーターでは、約3か月間ファームウェアの確認が不明な場合、「ヘルス」にルーターガイドへのリンク付きで控えめに表示します。確認しましたでさらに3か月間非表示にします。kilobat routerとkilobat router devicesも同じ内容を表示します。
スマートホーム:Matter、Thread、HomeKit
「ツール」›「デバイス」にスマートホームの行が表示されます。例えば「Thread:ネットワーク1件(ホーム)、ボーダールーター3台 · Matter:デバイス5台 · HomeKit:アクセサリ4台、ブリッジ1台」。詳細には各Threadネットワークとボーダールーター(HomePod mini、Apple TV、Google Nestハブ、Echo、eeroなど。メーカーとThreadのバージョンを表示)を一覧表示し、Matterデバイスを数え(複数のアプリにあるデバイスも1台として集計)、設定待ちのものを示し、HomeKitのアクセサリとブリッジを数えます。特に役立つのはThreadネットワークが2つあると知らせる行です。多くの場合AppleとGoogleのネットワークで、一方のデバイスはもう一方のボーダールーターを使えないため、各メッシュは見た目より小さくなります。Kilobatは1つにまとめる方法を示します。維持するネットワークのアプリで新しいThreadデバイスを追加し、Matterのペアリングコードで他のアプリに共有するか、ボーダールーターがThread 1.4の認証情報共有に対応している場合は維持するネットワークに参加させます。
同じチェックでネットワークがMatterに対応できるかも調べます。IPv6アドレスと観測されたプレフィックス広告元(MatterにはIPv6が必要ですが、プレフィックスがないことはルーターが無効にした証拠ではありません)、Bonjourの応答、他のデバイスの可視性(空のネットワークではクライアント分離を判定できません)、別のサブネットやVLAN上のスマートホームデバイス、Wi-Fiが2.4 GHzかどうか(多くのWi-Fiスマートホームデバイスの設定に必要)を確認します。各チェックは変更する内容を、ルーターを認識できる場合はそのガイドとともに示すか、判定できないことを示します。ネットワークのスマートホームデバイスに問題がある場合、「ヘルス」に1行で表示します。
Kilobatは受信するだけです。_meshcop._udp、_matter._tcp、_matterc._udp、_hap._tcpのBonjour広告を数秒間とこのMac自身のネットワーク設定を読み取り、デバイスの設定、ペアリング、操作は行いません。macOSがローカルネットワークへのアクセスを1回要求します。ターミナルではkilobat smarthomeで同じ情報を表示し、--jsonでスクリプトに渡します。エージェントはMCPツールcheck_smart_homeを使用します。このチェックはKilobat Proの「デバイス」タブの一部で、「ヘルス」の行、CLI、MCPは無料です。