GlobalPing を使い始める: 実践!

GlobalPing を使い始める: 実践!

グローバルピン

昨年(6週間前)GlobalPingについてご紹介しました。彼らは自らをこのように説明しています。

Globalpingは、世界中に分散されたプローブに対して、ping、traceroute、dig、mtrなどのネットワークコマンドを誰でも実行できるプラットフォームです。私たちの目標は、誰もが興味深いネットワークツールやサービスを構築できるように、無料かつシンプルなAPIを提供することです。

これは、ボランティアによって世界中に分散されたプローブ群です。APIを操作することで、これらのプローブを使ってインターネットワーキングの問題を分析・トラブルシューティングできます。このプロジェクトは、 jsdelivrでご存知の@jimaek氏によって運営されています。

参加にGlobalPingハードウェアは必要ありません。Dockerコンテナ内でプローブを実行できます。手順については、こちらをご覧ください。

封筒の中身

GlobalPingのプローブはポーランドのクラクフからクッション封筒で届きました。中身は以下のとおりです。

GlobalPingパッケージ

含まれるもの:

  • MicroSD カードがインストールされた GlobalPing ユニット。
  • MicroUSBアダプター 5V/2A – パッケージには「RPi Zero用電源」と記載されています
  • OSがロードされたMicroSDカード。私の場合は、Kingson CANVAS Select Plus 32GBカードでした。32GBのような容量は必要ないと思いますが、おそらく今は32GBが最も一般的なカードなので、8GBカードよりも安く手に入るでしょう。
  • ユーロプラグの電源プラグと米国プラグアダプター
  • 短いネットワークケーブル
  • 説明書
  • ステッカー!

注:パッケージを開けた時にMicroSDカードが抜け落ちてしまいました。念のため、カードが奥までしっかりと差し込まれていることを確認してください。そうでないと、お使いの端末用のOSがインストールされません。

プローブは密閉された金属製のケースで、片面にGlobalPingのステッカーが貼られています。ケースのサイズは約5.5cm×4.5cm、高さは約3cm(1-3/4インチ×2-1/8インチ、高さ1-1/4インチ)です。たまたま手元にあった布製の巻尺を使っているので、おおよその目測です。

アップデートに使用できるUSBポートがあります。詳細はこちらをご覧ください。ケースにはスイッチやボタンはなく、電源、ネットワーク、MicroSD、USBポートのみとなっています。

GlobalPingハードウェア

分解する理由は全くないので、当然分解しました。NEO 512Mを搭載した小さなボードです。写真が粗くて申し訳ありません。スマホのズーム機能がうまく機能しなかったためです。GlobalPingは同社のプローブを「金属製の筐体に収められたARMベースのミニコンピューター」と説明しています。Google検索でNeo 512というモジュールを見つけたのですが、いくつかのボードに搭載されているのが目に入りました。

GlobalPingの解体

反対側からもっと情報が得られるかもしれませんが、底面にヒートシンクがあり、側面から見ると放熱グリスが塗られているのがわかります。そこは邪魔したくないので、ここまでです。

GlobalPingプローブ

ケースのデザインは非常に優れています。ボードの出し入れも非常に簡単で、組み立ててもガタつきません。

電源プラグは醜いレンガみたいで、USアダプターを取り付けてもさらに醜い。もちろん、FOSSプロジェクトにAppleレベルのカスタムエンジニアリングは期待できない!どっちみちコンセントに差し込まれて見えないんだから。

GlobalPingプラグ

設定

セットアップは簡単です。電源ケーブルとネットワークケーブルを接続するだけです。説明書によると、完全に起動するまで約3分かかります。

GlobalPingの手順

このデバイスがネットワーク上のどこにあるのか知りたかったので、起動してMACアドレスをキャプチャし、DHCPサーバーを使って固定IPアドレスを割り当てました。幸い、このデバイスのクライアントIDは「globalping-probe-1234」なので、簡単に見つけられました。この場合の1234はMACアドレスの最後の4桁です。

IP を割り当てた後、デバイスのプラグを抜き差しして、それを拾いました。

その後、指示に従ってログインしました。logs @IP_ADDRESSにパスワードなしでssh接続できます。表示される内容は以下のとおりです。

 $ ssh ログ@192.168.XX
ホスト「192.168.XX (192.168.XX)」の信頼性を確立できません。
ED25519 キーのフィンガープリントは SHA256:0aM7QP6qbVaJV/4i4oGhf2v6GS18vu9YMArjBlRMkcI です。
このキーは他の名前では知られていない
接続を続行しますか(はい/いいえ/[指紋])?はい
警告: '192.168.XX' (ED25519) が既知のホストのリストに永続的に追加されました。
ホームディレクトリ /home/logs に chdir できませんでした: そのようなファイルまたはディレクトリはありません
/etc/ssl/certs 内の証明書を更新しています...
0 個追加、0 個削除、完了。
/etc/ca-certificates/update.d でフックを実行しています...
終わり。
最新バージョンを確認しています
現在のバージョン 0.10.1
最新バージョン 0.10.1
[2023-01-01 19:21:44] [INFO] [687] [general] プローブバージョン0.10.1を本番環境で起動します
[2023-01-01 19:21:45] [DEBUG] [687] [一般] APIへの接続が確立されました
[2023-01-01 19:21:45] [INFO] [687] [api:connect] が (ポートランド、米国、北米) から接続しました (緯度: 45.XXXX 経度: -122.XXXX)

GlobalPing の API ページを見ると、オレゴン州ポートランドに 2 つの異なるプローブがリストされています。

 [0.10.1] [READY] ポートランド (OR)、米国、NA、7922 -- Comcast Cable Communications, LLC
[0.10.1] [READY] ポートランド (OR)、米国、NA、54600 -- Peg Tech

たぶん私が初めてだと思います。私はComcastを使っていますが、「Peg Tech」(聞いたこともない会社で、かなり…波乱万丈な経歴の持ち主です)を使っているComcastユーザーは他にいません。7922と54600の番号がASNです。私のデバイスに何らかの固有の識別子があれば、ポートランドで正常に動作していることを確認できるので便利です。ポートランドに多くのユーザーがいたら、おそらくComcastを利用している人も多かったでしょう。

箱はちゃんと閉まっています。ローカルのnmapスキャンの結果は次のとおりです。

 root@rundeck:~# nmap -p1-65535 192.168.XX
Nmap 7.80 ( https://nmap.org ) を2023年1月2日 09:53 PST に開始
192.168.XXのNmapスキャンレポート
ホストは稼働しています (遅延 0.00089 秒)。
表示されていない: 65534 個の閉じたポート
ポート  国家奉仕
22/tcp オープン  SSH
MACアドレス: 02:3F:30:36:XX:XX (不明)

Nmap 完了: 1 つの IP アドレス (1 つのホストが稼働中) を 3.35 秒でスキャンしました

GlobalPingで遊ぶ

デバイス上ではログを見る以外には何もできませんが、 APIを使って遊ぶことはできます。ログインすると、世界中で利用可能なプローブが579個あると表示されました。

最初の10回、場所を「ポートランド」として google.com に ping をリクエストしたところ、ISP が「Peg Tech」である隣人が使用されました (WordPress が JSON を改ざんします、申し訳ありません):

 PING google.com (142.250.72.206) 56(84) バイトのデータ。
sfo03s21-in-f14.1e100.net (142.250.72.206) からの 64 バイト: icmp_seq=1 ttl=113 time=1.60 ms
sfo03s21-in-f14.1e100.net (142.250.72.206) からの64バイト: icmp_seq=2 ttl=113 time=1.58 ms
sfo03s21-in-f14.1e100.net (142.250.72.206) からの64バイト: icmp_seq=3 ttl=113 time=1.58 ms

--- google.com ping 統計 ---
送信パケット3個、受信パケット3個、パケットロス0%、時間402ミリ秒
rtt 最小/平均/最大/平均偏差 = 1.575/1.585/1.602/0.011 ミリ秒
{
  "id": "5oNHmcDO4VGdxJN7",
  「タイプ」:「ping」、
  「ステータス」:「完了」
  "作成日時": "2023-01-01T19:42:48.316Z",
  「更新日時」: 「2023-01-01T19:42:49.104Z」
  "プローブ数": 1,
  "結果": [
    {
    「プローブ」:{
    「大陸」:「NA」、
    "地域": "北米",
    「国」:「米国」
    "状態": "OR",
    "都市": "ポートランド",
    "asn": 54600,
    「経度」: -122.6684,
    「緯度」: 45.5242,
    "ネットワーク": "ペグテック",
    「タグ」: [],
    「リゾルバ」: [
      「8.8.8.8」、
      「8.8.4.4」
      ]
    },
    "結果": {
      "rawOutput": "google.com (142.250.72.206) にPINGを実行しました。56(84)バイトのデータです。\nsfo03s21-in-f14.1e100.net (142.250.72.206) からの64バイト: icmp_seq=1 ttl=113 time=1.60 ms\nsfo03s21-in-f14.1e100.net (142.250.72.206) からの64バイト: icmp_seq=2 ttl=113 time=1.58 ms\nsfo03s21-in-f14.1e100.net (142.250.72.206) からの64バイト: icmp_seq=3 ttl=113 time=1.58 ms\n\n--- google.com ping 統計 ---\n送信パケット 3 個、受信パケット 3 個、パケット損失 0%、時間 402ms\nrtt 最小/平均/最大/平均偏差 = 1.575/1.585/1.602/0.011 ms",
      "解決されたアドレス": "142.250.72.206",
      "解決されたホスト名": "sfo03s21-in-f14.1e100.net",
      「タイミング」: [
        {
        "ttl": 113,
        "rtt": 1.6
        },
        {
        "ttl": 113,
        「rtt」: 1.58
        },
        {
        "ttl": 113,
        「rtt」: 1.58
        }
      ],
      「統計」: {
      「最小」: 1.575,
      「最大」: 1.602,
      「平均」: 1.585,
      「損失」: 0
        }
      }
    }
  ]
}

ASNを7922に設定した後、作業は自分のデバイスから来ていると思っていました。しかし、実際にはComcastも拠点を置いているイリノイ州から来ていることがわかりました。そこで都市フィルターを追加したところ、期待通りに動作しました。そして、私のデバイスのログには次のように表示されました。

 [2023-01-01 19:38:56] [DEBUG] [687] [general] pingリクエストEYTkITWoJw8Fv6nMを受信しました

GlobalPing は「私たちのプロジェクトは現在開発中であり、まだ実稼働環境での使用には適していません」と述べているため、この話はまだ初期段階にあることに注意してください。

グローバルプローブネットワーク

まず、570個のプローブのすべてが実際のハードウェアプローブではないことに注意してください。GlobalPingはDockerコンテナ内で実行できます。 @jimaekによると、リストされているプローブのうちGlobalPingのハードウェアプローブは約150個のみです。

GlobalPing プローブを実行する場合は、ここをクリックしてください

API ページに表示されているリストに基づいて、2023 年 1 月 1 日時点で 10 個以上のプローブがリストされているすべての国のリストを以下に示します。

  • アメリカ国道152号線
  • RU 61
  • ナショナルリーグ38
  • DE 27
  • GB 26
  • CA 18
  • FR 17
  • PL 16
  • JP 15
  • 13インチ
  • AU 11
  • BR 11
  • SG 11
  • ES 10

2023 年 1 月 1 日現在、オンラインになっている 579 店舗の地域別の内訳は次のとおりです。

  • EU 288
  • NA 171
  • AS 83
  • SA 18
  • OC 14
  • AF5

アメリカとEUがリストを独占しているのは驚きではありません。ロシアが2位というのは驚きです。オセアニアの参加者は、ニュージーランド人1人を除いて全てオーストラリア人、アフリカの参加者はケープタウン1人を除いて全てヨハネスブルグ人です。それでも、真のグローバルミックスを見るのは素晴らしいことですし、プロジェクトが進むにつれてこれらの参加者数も増え、バランスが取れていくと確信しています。

おすすめの記事