レジデンシャルプロキシのガイドの多くは、国、州、都市までしか扱っていない。それで十分なスクレイピングは10件中9件だ。残りの1件こそASNターゲティングが真価を発揮する場面であり、Atlantaの Comcast加入者のように見えるレジデンシャルプロキシと、単に「米国のIP」に見えるだけのものとの違いを生む。
これは、レジデンシャルプロキシにおけるASNレベルのターゲティングについての実践的なガイドだ。ASNとは実際に何なのか、なぜそれがレジデンシャルプールにとって特に重要なのか、どんな場合にそれを使うべきで、どんな場合には国や都市のターゲティングで十分なのか、そしてShifterのレジデンシャルゲートウェイでasnフラグを具体的な例とともにどう使うのかを説明する。
一文だけ覚えておくなら、これで十分だ。ASNターゲティングによって、IPの背後にあるキャリアを選ぶことができる。これは、スクレイピング対象のサイトが訪問者のISPを気にする場合に常に関係してくる。
ASNとは何か、平易に言うと
Autonomous System Numberとは、「このIPアドレスのブロックはこのネットワーク事業者に属している」ということを示す識別子だ。すべてのISP、すべてのモバイルキャリア、すべてのクラウドプロバイダ、すべての大企業は少なくとも1つのASNを持っている。AT&TはAS7018だ。ComcastはAS7922だ。Charter CommunicationsはAS20115だ。Vodafone(英国の一般消費者向けISP)はAS5378だ。Deutsche TelekomはAS3320だ。これらは地域インターネットレジストリ(ARIN、RIPE、APNIC、LACNIC、AFRINIC)によって発行され、変わることはない。
パケットが公共インターネットを横断する際、ルーティングプロトコルであるBGPが、すべてのIPをそれをアナウンスしているASNまで追跡する。誰でも、Hurricane ElectricのBGPツールキットやRIPEのデータベースといった無料のツールを使って、あるIPの背後にあるASNを調べることができる。73.158.97.42のようなレジデンシャルIPの場合、AS7922 (Comcast Cable Communications)という結果が返る。52.0.0.1のようなデータセンタープロキシのIPの場合、AS14618 (Amazon)が返る。ASNは、それが実際の消費者の接続なのか、サーバーファームなのかを教えてくれるものだ。
このASNのカテゴリという単一の信号こそ、アンチボットシステムがレジデンシャルトラフィックとデータセンタートラフィックを区別するために使う最も信頼性の高い特徴だ。Cloudflare、Akamai、DataDome、PerimeterX、これらはすべて、トラフィックのスコアリングの一部として、送信元のASNが既知のホスティングプロバイダに属しているのか、それとも実際のISPに属しているのかを確認している。まさに正当なレジデンシャルIPが通過できる一方でデータセンタープロキシのIPにはCAPTCHAが表示される理由であり、レジデンシャルIPの構造がどのネットワークがそのIPを所有しているかから始まる理由でもある。
レジデンシャルプロキシにとってASNが特に重要な理由
レジデンシャルプロキシの要点は、そのIPが実際の消費者の接続と見分けがつかないことにある。国によるターゲティングは、ほとんどの用途でその要件を満たす。米国のレジデンシャルIPは、それがComcastであろうとVerizonであろうと、米国のレジデンシャルIPであることに変わりはない。「この米国限定のカタログをスクレイピングしてブロックされないようにする」という目的なら、国指定で十分だ。
しかし、サイト自体がASNを読み取り、表示内容を変えるスクレイピングも一定数存在する。そこがASNレベルのターゲティングが「あれば便利」を超える場面だ。
キャリア固有のルーティングとコンテンツ。 ストリーミングサービス、広告ネットワーク、一部のリテールサイトは、訪問者のISPに基づいて異なるコンテンツ、異なる価格、異なる在庫を表示する。「テキサス州のAT&T加入者にはこのページで何が見えるか」を確認したいモニタリングツールは、汎用の米国レジデンシャルIPでそれを再現することはできない。ページが実際にAT&Tの訪問者として扱うAS7018のIPが必要になる。
ISPごとの広告検証。 キャリアがバンドルする広告枠(T-Mobileのテレビ提携、ISPが配信する広告ユニット)を通じてキャンペーンを実施している広告主は、そのキャリア自身のネットワーク上で自社のクリエイティブを検証する必要がある。そのキャリアのASN以外のIPからは、広告が正しく表示されない、あるいはまったく表示されないことがある。
国だけでなくASNを使う地理制限の回避。 一部のニュースサイトや政府ポータルは、国単位ではなくISP単位でジオフェンシングを行っている。「国内キャリアの実際の加入者」に限定したいためだ。国が完全に一致していても、別のキャリアの優良なレジデンシャルIPでは、そうしたケースで403が返ることがある。
サービス品質のテスト。 特定のISPのネットワークからのパフォーマンスをテストするSaaSチーム(「マドリードのVodafone DSL接続からアプリはどのように読み込まれるか」)は、実際にそのASN上で発生するトラフィックを必要とする。そうでなければ、レイテンシ、MTU、ミドルボックスのプロファイルが一致しない。
不正対策の調査。 不正行為のパターンを調査するブランド保護チームは、詐欺行為者が本物の消費者接続から操作しているのか、それとも既知のプロキシプロバイダのASNから操作しているのかを確認するために、特定のASNからのトラフィックを再現する必要があることが多い。
これらはどれも理論上の話ではなく、まさにこれらの理由から、私たちはASNをレジデンシャルゲートウェイの第一級のターゲティングフラグとして提供している。そして、これらすべてが、国だけを指定するプロキシではこの用途に対して不適切なツールである理由だ。
ASNターゲティングが不要な場合
これはほとんどの記事が省略する部分だ。ASNターゲティングは国よりも精度の高いツールであり、その分遅く、IPの可用性という点でコストも高く、扱えるプールも小さくなる。必要でないなら使わないことだ。
以下の場合、ASNターゲティングは不要だ。
- スクレイピング対象のサイトが気にしているのがISPではなく国や都市である場合。ほとんどのEコマース、ほとんどの公開データのスクレイピング、ほとんどのSEOモニタリング、ほとんどの価格収集がこれに該当する。
- 大規模なセッションセット全体で積極的にローテーションしている場合。ASNを固定することの利点は、個々のIPがどれだけ使われるかに応じて大きくなる。1つのIPで1ページだけアクセスして次へ移るような使い方なら、ASNの効果はあまり変わらない。
- ボトルネックがトラストスコアではなく同時実行数である場合。単一のASNに制限するとプールが縮小する。すでに国のプールの利用可能IPの80%を使っているなら、ASNの一致による利点よりも先に自分自身のスループットを絞ってしまう。
- ただ「レジデンシャル」であればよい場合。レジデンシャルプールは定義上レジデンシャルだ。ASNはすでに消費者向けISPのものになっている。気にしないのであれば、どれかを指定する必要はない。
考え方としては、国はトラストを与え、ASNはそのトラストの範囲内で特定のアイデンティティを与える。ほとんどのワークロードには前者で十分であり、後者は必要ない。
Shifterのゲートウェイでasnフラグを使う方法
Shifterのレジデンシャルゲートウェイは、ユーザー名の中にターゲティングフラグを受け付ける。ASNのフラグはasnだ。フラグの順序は関係なく、asnはcountry、state、city、sid、ttlと任意の順序で組み合わせられる。
最も基本的なASNのみの呼び出し:
curl -x customer-USERNAME-asn-7922:PASSWORD@p.shifter.io:443 https://api.ipify.orgこれは、アナウンスしているASNがAS7922、Comcast Cable CommunicationsであるレジデンシャルプロキシのIPを返す。国の制約も都市の制約もない。特定の国のComcastのIPに絞りたい場合(Comcastは米国のみで運営しているが、このパターンは一般化できる)、countryフラグを追加する。
curl -x customer-USERNAME-country-us-asn-7922:PASSWORD@p.shifter.io:443 https://api.ipify.org同じIPをセッションの間固定することもできる。sid(自分で生成する任意の文字列で、ゲートウェイはこれを不透明なセッションIDとして使う)と秒単位のttlを追加すると、ゲートウェイはそのセッションIDに対して、そのTTLの期間中、同じComcastのIPを保持する。
curl -x customer-USERNAME-country-us-asn-7922-sid-9f3a2b7c-ttl-900:PASSWORD@p.shifter.io:443 \ https://target-site.example/page-1curl -x customer-USERNAME-country-us-asn-7922-sid-9f3a2b7c-ttl-900:PASSWORD@p.shifter.io:443 \ https://target-site.example/page-2両方のリクエストは、同じレジデンシャルIP、同じComcast加入者の形をした送信元から、最大900秒間送られる。それを過ぎると、ASNの制約は保ったままゲートウェイがローテーションするので、次のIPも依然としてAS7922上にある。
同じエンドポイントで4つのプロトコルすべて、HTTP、HTTPS、SOCKS5h、SOCKS5がサポートされている。ユーザー名とパスワードは固定で、ターゲティングはリクエストごとにユーザー名の中で指定する。
フラグの完全なリファレンスと認証の詳細については、ゲートウェイのドキュメントにすべて記載されている。
知っておくべき主要な一般消費者向けISPのASN
実際のスクレイピングで最もよく出てくるASNの短いリファレンスだ。これらは各キャリアの消費者向けブロードバンド側をアナウンスするASNであり、一部のキャリアはホスティングやトランジット用に別のASNも持っているが、それらはレジデンシャルターゲティングで使うべきものではない。
| キャリア | ASN | 国 |
|---|---|---|
| Comcast Cable | AS7922 | US |
| AT&T Internet Services | AS7018 | US |
| Charter Communications | AS20115 | US |
| Verizon (Fios) | AS701 | US |
| Cox Communications | AS22773 | US |
| T-Mobile US (Home Internet) | AS21928 | US |
| British Telecom (BT) | AS2856 | UK |
| Sky Broadband | AS5607 | UK |
| Virgin Media | AS5089 | UK |
| Vodafone UK | AS5378 | UK |
| Deutsche Telekom | AS3320 | DE |
| Vodafone Germany | AS3209 | DE |
| Free SAS | AS12322 | FR |
| Orange France | AS3215 | FR |
| Telefónica España | AS3352 | ES |
| Telecom Italia | AS3269 | IT |
| KDDI | AS2516 | JP |
| NTT Communications | AS4713 | JP |
| Bell Canada | AS577 | CA |
| Rogers | AS812 | CA |
これらは本番環境で使う前にbgp.he.netで確認できる。ASNの割り当ては安定しているが、新しいキャリアをターゲティングする最初の一回は30秒程度かけて確認しておく価値がある。
ASNを他のフラグと組み合わせる
ターゲティングフラグは自由に組み合わせられる。実際によく使われる組み合わせは以下だ。
country + asn。最も一般的な組み合わせ。国とその中のキャリアの両方を固定する。「この国のこのキャリア」を必要とするテストに便利だ。
country + state + asn。全国的に展開している米国のキャリアの場合、これは「テキサス州のComcastのIP」に絞り込む。すべてのASNがすべての州でカバレッジを持っているわけではないため、過度に制約するとプールがゼロになる可能性がある点に注意。
country + city + asn。さらに厳しい絞り込みだ。大都市の大手キャリアで最もうまく機能する。「Topekaのcox」のような組み合わせで結果が得られることは期待しないほうがいい。
country + asn + sid + ttl。特定のキャリアに固定したスティッキーセッション。ログイン、ナビゲーション、チェックアウトなど、1つの継続的な加入者セッションのように見せる必要のある複数ステップのフローに使うパターンだ。
一般的なルールとして、追加するフラグごとに一致するIPのプールは小さくなる。ASNは国レベルでは粗いフィルタだ(米国のComcastなら数百万のIPがある)が、州、そして都市を追加すると急速に絞り込まれる。リクエストが502を返す場合、最も一般的な原因は、そのフラグの組み合わせに現在利用可能なIPがないことだ。最も具体的なフラグを外して再試行してほしい。
表示されるエラーとその対処法
Shifterのゲートウェイは、プロキシレベルのエラーに対して標準的なHTTPステータスコードを返す。知っておくべきものは3つある。
407 Proxy Authentication Required。 ユーザー名かパスワードが間違っている、あるいはゲートウェイが認識しないフラグ名を使っている。asnのスペル(asでもasn_numberでもない)とパスワードを再確認してほしい。
502 Bad Gateway。 現在フィルタに一致するIPがない。プール内でそのASNが空である場合(上記の主要な消費者向けASNではまれだが、ニッチなASNでは一般的)か、country + state + city + asnで過度に制約している場合のいずれかだ。制約を1つ緩めて再試行してほしい。
504 Gateway Timeout。 アップストリームの応答に時間がかかりすぎている。ほとんどの場合、プロキシの問題ではなくターゲットサイトの問題だ。バックオフをかけて再試行してほしい。
407について特に言うと、ゲートウェイは未知のフラグを黙って無視するのではなく、認証エラーとして扱う。これは意図的な設計だ。asn-7922aのようなタイプミスが、静かに「ASNの制約なし」に変わってしまうのを防いでいる。
ASNターゲティングは魔法ではない
2つの重要な注意点がある。多くのプロキシベンダーがこの点を曖昧にしがちだからだ。
ASNは、どのネットワークがそのIPをアナウンスしているかを示すものであり、サイトがそのユーザーをどう分類するかを示すものではない。 ほとんどのサイトはBGPを裏付けとするIPデータベースを通じてASNを直接読み取るが、一部のサイトは独自の分類レイヤー(TLSフィンガープリント、ヘッダーの順序、BGPと一致しない地理情報データベース)を持っており、AS7922のIPであることはComcastのユーザーとして扱われるための必要条件ではあっても十分条件ではない。正しいASNなのに奇妙な挙動が見られる場合は、ASNの一致を疑う前にヘッダー、TLSプロファイル、フィンガープリントを確認してほしい。
プールのサイズはASNによって異なる。 米国の大手キャリアは非常に大きなレジデンシャルプールを持っている。中規模の欧州のISPやアジア太平洋地域のキャリアは、より小さい場合がある。高い同時実行数と特定の小規模なASNの両方が必要な場合は、それを見越して計画してほしい。価格ページではASNにかかわらず1GBあたりの料金は同じだが、可用性は同じではない。
FAQ
スクレイピングしたいウェブサイトのASNをどう調べればいいですか? 調べる必要はない。ウェブサイト自体のASNは関係なく、重要なのは訪問者側のASNだ。通常知りたいのは「このサイトの本物のユーザーのように見せるには、プロキシのトラフィックはどのASNから来るべきか」ということだ。対象が米国のストリーミングサービスであれば、答えは「大手の米国の一般消費者向けISPのASNであればどれでもよい」となる。サイトが特にどのキャリアかを気にする場合は、そのサイトのジオフェンシングのポリシーを読むか、主要なキャリアをいくつか試してどれが通るかを確認することで大抵わかる。
ASNターゲティングをスティッキーセッションと併用できますか?
できる。asn-<number>と並べてユーザー名にsid-<your-session-id>-ttl-<seconds>を追加する。ゲートウェイはそのセッションが続く間、そのASN上の1つのIPを固定し、TTLを過ぎると同じASN内でローテーションする。
ASNターゲティングは、そのIPがそのISPを経由してルーティングされることを保証しますか?
そのIPはBGPを通じてそのASNによってアナウンスされており、それは「このIPを誰が所有しているか」という問いに対する権威ある答えだ。サイトがキャリアで分類する際に読み取るのはまさにこれだ。ASNターゲティングが保証しないのは、そのネットワーク上の加入者のレイテンシプロファイル、パケットが自分のマシンから当社までたどる経路、そしてキャリアのカバレッジ内での地理的な位置だ。地理を固定するにはcountry、state、cityを使ってほしい。
ASNレベルのターゲティングはISPターゲティングとは違うものですか? 実質的には違わない。ASNはネットワークが自らを識別する方法であり、サイトがそれを読み取る方法でもある。「ISPターゲティング」はマーケティング上の用語で、「ASNターゲティング」は技術的な用語だ。同じ機能だ。
なぜデータセンタープロキシやISP静的プロキシのターゲティングでは、同じ方式でASNフラグを使わないのですか? データセンタープロキシは、ホスティングプロバイダのASN(AWS、OVH、Hetzner)から来ており、それらはまさにアンチボットシステムがフラグを立てるASNなので、選ぶ意味がない。ISP静的レジデンシャルプロキシは、私たちが既に維持している特定のISPとの提携から来ているため、ASNは購入したプランに暗黙的に含まれている。ASNターゲティングは、国ごとに多くの候補キャリアが存在するレジデンシャルローテーティングプロキシのプールにおいて特に意味を持つ。
ASNターゲティングを使うことは、いずれかのプロバイダの利用規約に違反しますか? ASNターゲティングは回避のための手法ではなく、ルーティングの概念だ。レジデンシャルプロキシに、特定のキャリアのIPアドレス空間からトラフィックを送るよう指示しているだけで、それはまさにレジデンシャルプロキシが行っていることであり、より精密に行っているだけだ。ウェブスクレイピング全般に適用されるのと同じルールが適用される。robots.txtが実質的な意味を持つ場合はそれを尊重すること、対象サイトの動作を劣化させないこと、レート制限に従うこと、そして自動アクセスを禁止する具体的な利用規約に違反しないことだ。Shifterで何が許可されているかについての真実の情報源は、利用規約にある。
実際にいつ使うべきか
ASNターゲティングは精密なツールだ。ほとんどのスクレイピングには不要だが、必要とするものは実質的にそれなしでは成立しない。
asnをゲートウェイの呼び出しに追加する前に自問すべき問いは以下だ。
- 対象のサイトは、訪問者のISPに基づいて提供内容を変えているのか、それとも国だけなのか。
- 特定のキャリアのために検証を行っているのか、あるいはキャリア別のセグメント測定を実施しているのか。
- 単一のASNに固定してもボトルネックにならないだけの十分な同時実行の余地があるか。
これらのいずれかの答えがイエスであれば、ASNターゲティングは適切なツールだ。そうでなければ、国と都市の指定でより大きなプールを使いながら同じ仕事ができる。
いずれにしても、新しいShifterのレジデンシャルゲートウェイは、すべてのプランでASNターゲティングを追加料金なし、別製品なしで提供している。フラグを有効にして、実在するキャリアのASNを指定すれば、スクレイピングの残りの部分はそのままでよい。