Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

クローリングしにくいものに挑戦 公開用

クローリングしにくいものに挑戦

  • Be the first to comment

クローリングしにくいものに挑戦 公開用

  1. 1. クローリングしにくいものに挑戦 lumin ネットエージェント株式会社杉浦隆幸 会場用 1
  2. 2. about me • 杉浦隆幸 • ネットエージェント株式会社代表取締役 2 • PacketBlackHole, OnePointWall, 防人, secroidの原開発者 • CTFチャレンジジャパン経済産業省主催のCTF(ハッキングの技術大 会)優勝メンバー(Agent IV) • ほこ×たてハッカー×セキュリティのたて側 • Winnyの暗号解読に初めに成功 • TVニュース番組での事件解説多数 • 第4回IPA賞受賞 • 2010年に政府の情報保全検討委員 • など
  3. 3. Agenda • なぜクローリングしにくいのか • クローリングしにくいプロトコル • 匿名クローリング • クローリングしにくいページ • クローリング制限 • 非HTTPプロトコル 公開用は一部情報を削減しています。 3
  4. 4. なぜクローリングし にくいのか hard crawling 4
  5. 5. なぜクローリングしにくいのか • 検索されたくない • クローリングされたくないサイトやページ • たくさんダウンロードされたくない • 利用者を制限したい(国・キャリア・OS) • クローラのプロキシ対応がブラウザより貧弱 5
  6. 6. 6 諸般ノ事情ニヨリ非公開
  7. 7. クローラレベル レベルを上げるたびに より人間らしく。 • 1 wget • 2 UAをブラウザに • 3 Cookie対応、referer対応 • 4 リクエスト全てをブラウザと同じに • 5 リクエスト全てをブラウザと同じに+Cookie対応 • 6 IPアドレスを短周期で変える • 7 ブラウザでクローリングする • 8 アクセスタイミングをランダマイズする • 9 人間がアクセスした内容をパケットから再現 • 10 人間のアクセスパターンでブラウザ自動制御 注) 当社基準 7
  8. 8. 8 クローリングしにくいプロトコル protocol
  9. 9. クローリングを難しくする要素 • Proxy • HTTPS • 443/tcp 以外 • SOCKS • WebSocket • ws:// • wss:// • SPDY • SPDY proxy • 非Web系プロトコル • IPv6 (環境があれば簡単) 9 1つの要素なら誰かが実 装していることが多い。 WebSocket をSSLでHTTPS Proxyを通すとか、 実装されていないケースも多い。
  10. 10. SPDY 10 • Googleの開発した次世代のHTTPプロトコルの候補。SSL通 信上で作成されているので、SSL対応が必須。表示が早くなり そうな名前であるが、大抵の場合は、サイトアクセスの構成を 見直すなど先にやることがある。マシン台数が多く転送量が 多く常時SSLで限界まで最適化した場合のみ恩恵にあやかれ るらしい。 • Googleやtwitterが対応している。
  11. 11. 匿名クローリング anonymous 11
  12. 12. Tor https://www.torproject.org/ http://ja.wikipedia.org/wiki/Tor 12
  13. 13. Torを使った匿名クローリング • SOCKS proxyとして利用 • SOCKS 対応のクローラが必要。 • wgetの一部のバージョンでは利用可能。 13 • プロトコルは単純なので対応していない場合はsocketから書く
  14. 14. クローリングしにくいページ hard page 14
  15. 15. java script動的コンテンツ • ヘッドレスブラウザ • ブラウザでクローリング 15
  16. 16. 16 諸般ノ事情ニヨリ非公開
  17. 17. 17 諸般ノ事情ニヨリ非公開
  18. 18. 18 諸般ノ事情ニヨリ非公開
  19. 19. クローリング制限 country 19
  20. 20. 国ごとの制限 • 日本と外国からではインターネットの見え方が異なる 20
  21. 21. VPSやクラウドを借りる • 海外のVPS・クラウドを借りてクローリング • 通信料課金がある • RTT(ラウンドトリップタイム) 重要! • 米国の東海岸やヨーロッパで借りると重い! • ストーレジ高い • プロキシを立ててクローリングする • Apache mod_proxy • Squid 21
  22. 22. 22 諸般ノ事情ニヨリ非公開
  23. 23. 23 諸般ノ事情ニヨリ非公開
  24. 24. 24 諸般ノ事情ニヨリ非公開
  25. 25. 25 諸般ノ事情ニヨリ非公開
  26. 26. 26 諸般ノ事情ニヨリ非公開
  27. 27. 27 諸般ノ事情ニヨリ非公開
  28. 28. 28 諸般ノ事情ニヨリ非公開
  29. 29. 非HTTPプロトコル None HTTP Protocol 29
  30. 30. P2Pクローラ • Winny • Share • PerfectDark • Limewire/Cabos • BitTorrent • BitCoin • P2Pは主としてClosed プロトコルのクローリング • 自律分散型 30
  31. 31. 31 http://www.netagent.co.jp/

×