**コマンドラインでレイテンシを使ってIPアドレスの位置特定方法**

1. **IP検索サービスを利用する**  
   - `curl ipinfo.io/<IP>` を実行すると、JSON形式で場所情報が返ってきます。  
2. **往復時間(RTT)を測定する**  
   - `ping -c 4 <IP>` や `mtr` でレイテンシを推定します。  
3. **結果を統合する**  
   - JSONの出力を解析し、RTT値と照らし合わせて近隣性を推測します。

この手法により、ターミナルから迅速にIPアドレスがどこにあるか、およびおおよその距離感を把握できます。

2026/01/31 18:30

**コマンドラインでレイテンシを使ってIPアドレスの位置特定方法** 1. **IP検索サービスを利用する** - `curl ipinfo.io/<IP>` を実行すると、JSON形式で場所情報が返ってきます。 2. **往復時間(RTT)を測定する** - `ping -c 4 <IP>` や `mtr` でレイテンシを推定します。 3. **結果を統合する** - JSONの出力を解析し、RTT値と照らし合わせて近隣性を推測します。 この手法により、ターミナルから迅速にIPアドレスがどこにあるか、およびおおよその距離感を把握できます。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

改訂サマリー

Geolocate は、Globalping の遅延ベースのプロービングネットワークを活用して IP アドレスを国・米国州・都市名に解決するオープンソースのコマンドラインツールです。
このツールは、世界中の Globalping の公開プローブから ping または traceroute を送信し、往復時間(RTT)が最も短いプローブを推定位置として選択します。

デフォルト制限 は認証されていないユーザーを API クォータ内に保ちつつ、3,000 以上の公開プローブを使用します:

  • 大陸検出用に各大陸で 5 つのプローブ、
  • 国または米国州検出用にそれぞれ 50 つのプローブ、
  • 都市検出用に 36 つのプローブ。

実際の結果例では、ポーランドの IP が 7.29 ms の遅延を返し、米国 VPN IP は 0.45 ms でフロリダ州に解決され、都市レベルのクエリは 0.00 ms でマイアミを特定しました。

Geolocate は Globalping の「magic field」に依存してプローブを自動選択するため、正確なターゲット国または州にあるプローブが欠落し、精度が低下する可能性があります。ユーザーはデフォルトを上書きし、完全な国/州リストとプローブ数(米国で約 200、カナダで約 20)を増やすことでカバレッジを改善することが推奨されています。この目的のためにツールは

--limit
フラグを公開しています。

Geolocate はオープンソースであり、

geolocate $IP
コマンドで実行できます。無料クレジットは https://dash.globalping.io/ で登録するか、自前のプローブコンテナをホストすることで取得可能です。プルリクエストは歓迎されており、著者はメール(d@globalping.io)で無料クレジットを提供しています。

偽造される恐れのある公開ジオロケーションデータベースに対する軽量・低負荷な代替手段として、Geolocate は遅延ベースのプロービングを使用して正確な IP 位置情報を取得できるよう開発者と運用担当者に提供します。

本文

TL;DR:
Globalping のプローブネットワークを利用して、IP アドレスの国・米国州・都市を判定する CLI ツールを作成しました。
このツールは、公開されている IP‑to‑location データベースではなく、レイテンシーに基づくジオロケーション手法を採用しています。


背景

最近の研究によれば、多くの VPN プロバイダーが ARIN、RIPE、GeoDB などへ不正なデータを送信し、IP の地理情報を偽装していることが判明しました。
そのような公開ソースに頼らず、著者は大規模プローブネットワークを構築し、インターネット上のほぼすべて(または多く)の IP へ対するレイテンシー/ホップ数を測定しました。
高度なアルゴリズムとクロスリファレンスを組み合わせることで、偽情報に依存せずに実際の物理位置を信頼性高く特定できました。

私は同様のアプローチを Globalping を使って小規模に再現したいと思いました。
Globalping はコンテナベースで動作するオープンソースのプローブネットワークで、世界中どこからでも ping・traceroute などが実行できます。
3,000 本以上のプローブを有しているため、多くの IP を国レベル、あるいは米国州レベルまでジオロケートできる可能性があります。


ツール設計

  1. 入力として単一の IP アドレスを受け取ります。
  2. フェーズ 1 – 大陸判定
    各大陸にある数本のプローブからターゲットへ ping を数回実行し、平均レイテンシーが最も低い大陸を選択します。
  3. フェーズ 2 – 国(または州)判定
    勝ち抜いた大陸(米国の場合は州)から測定を実施し、多数のプローブを選びレイテンシーでソート、最も良い結果を得た国/州を採用します。
  4. フェーズ 3 – 都市判定
    選択した国/州内の都市に対して同様の手順を繰り返します。

Globalping API の magic field は、指定したロケーションと一致する擬似乱数プローブを自動で選択してくれるため、プローブ選択が簡易化されます。


実装詳細

  • 初めは ICMP ping(2 パケット)で高速化を図りましたが、多くのネットワークで ICMP が遮断されています。
  • TCP‑ベースの ping(よく使われるポート)に切り替えましたが、実装が複雑かつ信頼性が低いことが判明しました。
  • 最終的に traceroute を採用しました:ターゲット側で ICMP が遮断されていても、上流のホップは許可している場合が多く、最後に到達したホップのレイテンシーを物理距離の代理値として利用します。

プローブ数制限

フェーズデフォルトプローブ
大陸判定各大陸 5 本(高精度)
国/州判定50 本(デフォルト;
--limit
で増加可)
都市判定36 本(デフォルト)

Globalping は認証なしで 1 IP あたり 250 テスト/時、1 測定あたり 50 プローブ を提供します。
無料アカウントに登録すると、これが 500 テスト/時 に拡張されます。


サンプル出力

Phase 1: Detecting continent...
  North America: 137.18 ms
  Europe:        32.39 ms
  Asia:          174.54 ms
  South America: 215.08 ms
  Oceania:       244.15 ms
  Africa:        156.83 ms

Phase 2: Detecting country...
  Measuring from 50 probes...

  [████████████████████████████████████████] 100.0%   50/50 - Best: PL (7.29 ms)

Top 3 Locations:
─────────────────────────────────────────────────
  1.. Poland, EU           7.29 ms
  2.. Germany, EU          13.42 ms
  3.. Lithuania, EU        17.65 ms

═══════════════════════════════════════════════════
                      SUMMARY
═══════════════════════════════════════════════════
  Location: Poland, EU
  Minimum Latency: 7.29 ms
  Confidence: Medium

米国州判定

Phase 3: Detecting US state...
  Measuring from 50 probes...

  [████████████████████████████████████████] 100.0%   50/50 - Best: FL (0.45 ms)

Top 3 Locations:
─────────────────────────────────────────────────
  1. Florida, USA           0.45 ms
  2. South Carolina, USA    12.23 ms
  3. Georgia, USA           15.01 ms

═══════════════════════════════════════════════════
                      SUMMARY
═══════════════════════════════════════════════════
  Location: Florida, United States
  Minimum Latency: 0.45 ms
  Confidence: Very High

都市判定

Phase 4: Detecting city...
  Measuring from 36 probes...

  [████████████████████████████████████████] 100.0%   36/36 - Best: Miami (0.00 ms)

Top 3 Locations:
─────────────────────────────────────────────────
  1. Miami, Florida, USA    0.00 ms
  2. West Palm Beach, FL   4.36 ms
  3. Tampa, FL              5.85 ms

═══════════════════════════════════════════════════
                      SUMMARY
═══════════════════════════════════════════════════
  Location: Miami, Florida, United States
  Minimum Latency: 0.00 ms
  Confidence: Very High

制限と今後の展望

  • magic field がすべての国/州でプローブを確実にカバーできるわけではなく、ターゲット国自体のプローブが選択されないケースがあります。
  • プローブ網が希薄な地域では精度が低下します。
  • より堅牢な解決策としては:
    • TCP/UDP traceroute(複数ポート)を併用する
    • 複数の最後のホップを解析し、レイテンシーを重み付けで統合する
    • ASN や公開 WHOIS データを活用して結果に信頼度を加える
    • 信頼度が低い IP は再試行時にプローブ数を増やすフラグを立てる

利用方法

geolocate <IP>

オプション:

--limit N
を指定すると各フェーズのプローブ数を増加できます(レートリミットに注意)。
完全なドキュメントは GitHub で公開しています。プルリクエスト歓迎です!
無料クレジットやプローブのホスティングをご希望の場合は、d@globalping.io までご連絡ください。
コンテナは https://github.com/jsdelivr/globalping-probe から実行できます。

同じ日のほかのニュース

一覧に戻る →

2026/02/01 7:05

SwiftはRustよりも便利なプログラミング言語です。

## Japanese Translation: > **概要:** > 本文は、メモリ管理モデル、コンパイル先、設計哲学、機能セット、性能トレードオフ、およびクロスプラットフォーム対応範囲において Rust と Swift を比較しています。 > • **メモリ管理:** Rust はガーベジコレクションを用いず所有権/借用(ownership/borrowing)を採用し、Swift はコピーオンライトとオプションの「所有」セマンティクスを備えた値型をデフォルトにしています。両方とも unsafe な生ポインタをサポートします。 > • **コンパイル:** 両言語は LLVM を介してネイティブコードへコンパイルし、WebAssembly(WASM)もサポートします。 > • **設計目標:** Rust は低レベルでボトムアップのシステム言語、Swift は高レベルでトップダウンですが、オプションで低レベルアクセスを提供します。 > • **コピーオンライトと再帰:** Rust では明示的に `Cow<>` と `.as_mutable()` を使用してコピーオンライトを行い、再帰型循環を解消するには `Box<>`(または `Rc/Arc`)が必要です。Swift はコピーオンライトを自動化し、再帰を扱うために `indirect` キーワードを利用します。 > • **エラーハンドリング:** Rust の `Result<T,E>` と `?` 演算子;Swift の `do‑catch` と `try`。 > • **機能的対実用的特徴:** Swift は C ライクな構文(例:`switch` を match として、列挙型にメソッドを付与)で機能的構造を隠し、導入を容易にしています。また、非同期/待機、アクター、プロパティラッパー、結果ビルダーといった実用的な言語機能を追加し、迅速な UI やサーバ開発を促進します。Rust はよりミニマリスティックですが、細かい制御が可能です。 > • **性能とユースケース:** Rust のプログラムはデフォルトで高速であることが多く、Swift は使いやすさを優先し、最適化されていない限り遅くなる場合があります。そのため、Rust は低レベルシステム作業に好まれ、Swift は迅速な UI やサーバ開発を求める開発者に適しています。 > • **クロスプラットフォーム拡張:** Swift は現在 Windows、Linux、組み込みデバイス(例:Panic Playdate)、WebAssembly で動作し、汎用性が高まっています。ただし、コンパイル時間の長さ、機能セットの大きさ、Rust に比べて成熟度の低いパッケージエコシステムといった課題も残ります。

2026/02/01 2:21

モバイルキャリアは、あなたのGPS位置情報を取得できることがあります。

## Japanese Translation: Appleの次期iOS 26.3は、電話がApple独自のモデムシリコンとファームウェアを使用する際に「正確な位置情報」―単桁メートル精度のGNSS座標―を携帯キャリアに送信しないプライバシー保護機能を導入します。これは2025年に発売されるデバイスで利用可能です。この機能は、通常キャリアがこれらの詳細な座標をダウンロードできるRRLP(2G/3G用)とLPP(4G/5G用)の制御平面プロトコルを無効化します。Appleがモデムハードウェアとファームウェアの両方を管理しているために機能し、サードパーティ製モデムにはこのレベルの統合がありません。 セル塔ベースの位置決定(数十〜数百メートル精度しか提供できない)に加え、電話はデバイス上で静かにGNSS位置を計算し、ネットワーク要求が行われたときのみそれらを送信します。そうでなければ携帯端末からは何もデータが離れません。米国DEA(2006年)やイスラエルのShin Betなどの法執行機関は、RRLP/LPPを使用して調査用GPS座標を取得し、またイスラエルのキャリアは2020年3月にCOVID‑19接触追跡のために正確な位置データを収集し、近接接触者へのSMS警告を送信しました。 Appleはこの機能を、ユーザーがGNSSデータのキャリア要求から完全にオプトアウトできるようにする第一歩として位置づけており、そうした試みが行われた際に通知を受け取れるようにします。Appleのモデム搭載デバイスは即座に不正追跡リスクの低減から恩恵を受けますが、キャリアとサードパーティ製モデムベンダーはサービスを適応させる必要があります。本機能の展開はまだApple以外のモデム搭載デバイスには適用されていません。 *注:* RRLP/LPP以外にも未公開の仕組みが存在する可能性があり、外国キャリアによるSS7悪用(例:サウジアラビア)では通常デバイスをモバイルスイッチングセンターまでしか特定できず、GNSSよりも精度が低いです。

2026/02/01 6:14

**生成AIとウィキペディア編集:2025年に学んだこと** - **人間とAIの協働が増加** - 編集者は、AI が作成したドラフトを第一稿として定期的に利用し始めた。 - 人間のレビュアーが引用を追加し、事実確認・トーン調整を行った。 - **品質保証の強化** - 新しいAI駆動型ファクトチェックツールで、公開前に矛盾点を検出した。 - 自動スタイルチェックにより、ウィキペディアのマニュアル・オブ・スタイルへの準拠が確保された。 - **コミュニティの受容とガバナンス** - ウィキメディア財団は、許容されるAI貢献を明記したガイドラインを導入。 - AI関与の透明なログ作成がすべての編集に対して必須となった。 - **偏見緩和への取り組み** - バイアス検出アルゴリズムが特定トピックでの過剰表現を指摘。 - 編集監視チームは偏向した視点を修正し、多様な観点を追加した。 - **パフォーマンス指標** - 平均編集完了時間が2024年比で約30 %短縮された。 - AI支援による記事更新数は12 %から28 %へと増加した。 - **今後の方向性** - AI生成引用文献の継続的改善。 - 英語以外のウィキペディア版への多言語サポート拡充。 **主な結論:** 2025年には、生成AIがウィキペディア編集に不可欠なツールとなり、効率向上とともにコミュニティ基準・品質管理の強化を実現した。

## Japanese Translation: Wiki Educationは、英語版ウィキペディアの新規アクティブ編集者の約19%を供給するプログラムを運営しており、ChatGPT、Gemini、Claudeなどの生成AIツールがどのように利用されているかを監視しています。 2022年11月以降、同組織はAI検出器Pangramを使用して新しい編集に対する幻覚(hallucinations)と引用ギャップをスポットチェックしています。2015年から現在までの3,078件の新記事コーパスから、Pangramは178件をAI生成としてフラグしましたが、そのうちわずか7%が架空のソースを含み、2/3以上が引用された参考文献が主張を裏付けていないため検証に失敗しています。 スタッフはその後、これらの記事をクリーンアップし、最近の作業をサンドボックスへ戻したり、修復不可能な記事をスタブ化またはPRODe(プロテクト)しました。また、2025年にPangramをダッシュボードプラットフォームに統合し、ほぼリアルタイムで検出できるようにしています。2025年秋だけでも1,406件のAIアラートが記録され、そのうち314件(22%)がライブページに影響しました。さらに、217名の参加者(新規編集者6,357人中3%)が複数回アラートを受けました。この介入により、本空間でのAIコンテンツの予測比率は約25%から約5%へと削減されました。 学生たちは主に研究作業(ギャップの特定、ソースの検索、文法チェック)にAIを利用したと報告しましたが、課題テキストのドラフトには使用していませんでした。 今後、Wiki Educationは2026年もPangramを継続運用し、非プローズコンテンツへの検出精度を向上させる予定です。また、オプションのLLMリテラシーモジュールを提供しつつ、メールと動画による自動化トレーニングも継続します。

**コマンドラインでレイテンシを使ってIPアドレスの位置特定方法** 1. **IP検索サービスを利用する** - `curl ipinfo.io/<IP>` を実行すると、JSON形式で場所情報が返ってきます。 2. **往復時間(RTT)を測定する** - `ping -c 4 <IP>` や `mtr` でレイテンシを推定します。 3. **結果を統合する** - JSONの出力を解析し、RTT値と照らし合わせて近隣性を推測します。 この手法により、ターミナルから迅速にIPアドレスがどこにあるか、およびおおよその距離感を把握できます。 | そっか~ニュース