海外GeoIP DBを作る

ページ名:海外GeoIP DBを作る

■海外GeoIP DBを作る


  1. 1. ARINのBulk Whoisデータ
- ARINの割り当て情報
>	NetRange: 3.0.0.0 - 3.255.255.255
>	Organization: Amazon.com Inc.
>	City: Seattle
>	StateProv: WA
>	Country: US
- 一括ダウンロード用のアクセス権が必要
	-- ARINアカウントの作成
	-- API Keyを作成
	-- バルクデータ提供の申請
		--- 申請フォームへのアクセス
		--- 利用目的(Use Case)の入力
		--- AUP(利用規約)への署名
		--- 数営業日以内に承認メール
	-- ファイル形式等
		--- XML
		--- データは毎日更新
- APIキーを使用して curl や wget で自動ダウンロードするスクリプトを組む
- 問題点
	-- ISP本社の州になる
	-- 実際のユーザー所在地と違う

  1. 2. BGPルーティングデータ (Routeviews / RIPE RIS)
- インターネット上で実際に「生きている」ルート(Prefix)を確認
	-- ARINのデータは「割り当て」
	-- BGPは「実際の運用単位」
- MRT形式のファイルを解析し、AS7922などの各ASNが広報している最小単位のプリフィックスを抽出
	--BGP(Border Gateway Protocol)などのルーティング情報を記録・保存するためのバイナリ形式。RFC 6396で規定。
		--- MRT を読む
		--- 各経路の PREFIX と AS_PATH を取る
		--- AS_PATH の最後の ASN を origin ASN とみなす
		--- ASN ごとに、その ASN が広報している prefix のうち 最長プレフィックス長を持つものを抽出する
		--- 方法
		>	bgpdump -m rib.mrt
		>		TABLE_DUMP2|...|A|...|1.2.3.0/24|7922 3356 15169|...
		>			プレフィックス : 1.2.3.0/24
		>			AS_PATH : 7922 3356 15169
		>			origin ASN : 15169
	-- MRT形式のファイルの場所
		--- RouteViews
			---- オレゴン大学のBGP収集プロジェクト
			---- http://archive.routeviews.org/
		--- RIPE RIS
			---- RIPE NCCが運用するBGP collector
			---- https://data.ris.ripe.net/
		--- BGPKIT Broker
			---- RIBのURLをAPIで検索
			---- https://api.bgpkit.com/v3/broker/search
			---- RouteViews / RIPE RIS のMRTファイルURLを返す
			>	curl "https://api.bgpkit.com/v3/broker/search?data_type=rib"
  1. 3. PTRレコード(逆引きDNS)による収集
>	ip: 96.34.xxx.xxx
>	rdns: c-96-34-xx-xx.hsd1.ca.comcast.net
>	ca → California
- 問題点
	-- ISPによる命名ルールを集める必要あり

  1. IP→州推定で必ず扱うべきAS
- Comcast	AS7922
- Charter	AS20115
- AT&T	AS7018
- Verizon	AS701
- T-Mobile	AS21928
- Cox	AS22773
- Lumen	AS3356

1. 地域ごとにPrefixを分割する(最も典型)

- 例(Comcastのイメージ)
>	24.0.0.0/13      Northeast
>	24.128.0.0/10    Midwest
>	73.0.0.0/8       Multiple regions
>		73.44.0.0/16 → New York
>		73.72.0.0/16 → Pennsylvania
>		73.160.0.0/16 → California

2. CMTS / POP単位でIPプールを持つ

- ケーブルISPでは、CMTS(Cable Modem Termination System)単位でIPプールを持つことが多い
	ISP backbone -> Regional POP -> CMTS -> Customer IP pool
- 例
>	Houston CMTS
>		24.55.120.0/21
>	Dallas CMTS
>		24.55.200.0/21

3. rDNSに地域コードが入る

- ISPによる命名ルールを集める必要あり
	-- 例 : Comcast
	>	c-73-44-10-1.hsd1.ny.comcast.net
	>		NY
	-- 例 : Charter Spectrum
	>	cpe-98-150-20-1.tx.res.rr.com
	>		TX
	-- 例 : AT&T
	>	108-210-55-1.lightspeed.hstntx.sbcglobal.net
	>		Houston TX

4. telemetry

- 主なデータ源
	-- モバイルアプリ
		--- 天気アプリ
		--- 広告SDK
		--- 地図アプリ
		--- SNS
		--- ゲーム
- 典型的なデータ構造
	IP address
	timestamp
	latitude
	longitude
	accuracy
	>	IP: 73.44.18.12
	>	lat: 40.7127
	>	lon: -74.0059
	>	city: New York

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧