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

Mais conteúdo relacionado

Mais procurados

DataChannelでIoTしてみた
DataChannelでIoTしてみたDataChannelでIoTしてみた
DataChannelでIoTしてみたtonofo
 
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクトe-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクトshigeyuki azuchi
 
IPv6セキュリティ はじめの一歩
IPv6セキュリティ はじめの一歩IPv6セキュリティ はじめの一歩
IPv6セキュリティ はじめの一歩Kenji Ohira
 
POSIX中心主義と情報科学教育
POSIX中心主義と情報科学教育POSIX中心主義と情報科学教育
POSIX中心主義と情報科学教育Tomoyuki Matsuura
 
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Yoshiyuki Nakamura
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめTetsutaro Watanabe
 
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」shigeyuki azuchi
 
Pony concurrency built into the type system
Pony concurrency built into the type systemPony concurrency built into the type system
Pony concurrency built into the type systemmatsu_chara
 
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~bitbank, Inc. Tokyo, Japan
 
Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)
Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)
Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)Yuji Chino
 
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論Kenji Urushima
 
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!Kensaku Komatsu
 
分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介Orb, Inc.
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたHyperleger Tokyo Meetup
 
Orb 仮想通貨・地域通貨ソリューション
Orb 仮想通貨・地域通貨ソリューションOrb 仮想通貨・地域通貨ソリューション
Orb 仮想通貨・地域通貨ソリューションWataru Fukatsu
 

Mais procurados (17)

DataChannelでIoTしてみた
DataChannelでIoTしてみたDataChannelでIoTしてみた
DataChannelでIoTしてみた
 
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクトe-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
 
IPv6セキュリティ はじめの一歩
IPv6セキュリティ はじめの一歩IPv6セキュリティ はじめの一歩
IPv6セキュリティ はじめの一歩
 
POSIX中心主義と情報科学教育
POSIX中心主義と情報科学教育POSIX中心主義と情報科学教育
POSIX中心主義と情報科学教育
 
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
 
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
 
Pony concurrency built into the type system
Pony concurrency built into the type systemPony concurrency built into the type system
Pony concurrency built into the type system
 
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~
 
Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)
Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)
Google IoT Core × SORACOM(補足:PrivateGarden機能の部分は、PublicGate機能の間違えです)
 
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
 
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
 
分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
 
Orb 仮想通貨・地域通貨ソリューション
Orb 仮想通貨・地域通貨ソリューションOrb 仮想通貨・地域通貨ソリューション
Orb 仮想通貨・地域通貨ソリューション
 

Destaque

20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野) 20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野) Hirosuke Asano
 
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップスScraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップスTakuro Sasaki
 
Crawler for Non engineer
Crawler for Non engineerCrawler for Non engineer
Crawler for Non engineerTakuro Sasaki
 
第3回Webスクレイピング勉強会@東京 happyou.info
第3回Webスクレイピング勉強会@東京 happyou.info第3回Webスクレイピング勉強会@東京 happyou.info
第3回Webスクレイピング勉強会@東京 happyou.infoShogo Okamoto
 
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)yuzoakakura
 
実践Excelスクレイピング
実践Excelスクレイピング実践Excelスクレイピング
実践Excelスクレイピング宏明 塩原
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングTakuro Sasaki
 
Amazon Athena で実現する データ分析の広がり
Amazon Athena で実現する データ分析の広がりAmazon Athena で実現する データ分析の広がり
Amazon Athena で実現する データ分析の広がりAmazon Web Services Japan
 

Destaque (8)

20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野) 20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
 
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップスScraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
 
Crawler for Non engineer
Crawler for Non engineerCrawler for Non engineer
Crawler for Non engineer
 
第3回Webスクレイピング勉強会@東京 happyou.info
第3回Webスクレイピング勉強会@東京 happyou.info第3回Webスクレイピング勉強会@東京 happyou.info
第3回Webスクレイピング勉強会@東京 happyou.info
 
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
 
実践Excelスクレイピング
実践Excelスクレイピング実践Excelスクレイピング
実践Excelスクレイピング
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
 
Amazon Athena で実現する データ分析の広がり
Amazon Athena で実現する データ分析の広がりAmazon Athena で実現する データ分析の広がり
Amazon Athena で実現する データ分析の広がり
 

Mais de Lumin Hacker

柏の葉キャンパス アクアテラス環境モニタリング
柏の葉キャンパス アクアテラス環境モニタリング柏の葉キャンパス アクアテラス環境モニタリング
柏の葉キャンパス アクアテラス環境モニタリングLumin Hacker
 
モバイルバッテリーをArduino io tで使う方法
モバイルバッテリーをArduino io tで使う方法モバイルバッテリーをArduino io tで使う方法
モバイルバッテリーをArduino io tで使う方法Lumin Hacker
 
組織にばれない情報漏洩の手法
組織にばれない情報漏洩の手法組織にばれない情報漏洩の手法
組織にばれない情報漏洩の手法Lumin Hacker
 
クラウド事業者のためのクラウドセキュリティ(公開用)
クラウド事業者のためのクラウドセキュリティ(公開用)クラウド事業者のためのクラウドセキュリティ(公開用)
クラウド事業者のためのクラウドセキュリティ(公開用)Lumin Hacker
 
Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用Lumin Hacker
 
Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用Lumin Hacker
 
Androidアプリ内蔵広告 徹底解析 公開用
Androidアプリ内蔵広告 徹底解析 公開用Androidアプリ内蔵広告 徹底解析 公開用
Androidアプリ内蔵広告 徹底解析 公開用Lumin Hacker
 
クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ Lumin Hacker
 
クラウド移行で解決されるセキュリティとリスク 公開用
クラウド移行で解決されるセキュリティとリスク 公開用クラウド移行で解決されるセキュリティとリスク 公開用
クラウド移行で解決されるセキュリティとリスク 公開用Lumin Hacker
 
クラウド移行で解決されるセキュリティとリスク
クラウド移行で解決されるセキュリティとリスククラウド移行で解決されるセキュリティとリスク
クラウド移行で解決されるセキュリティとリスクLumin Hacker
 

Mais de Lumin Hacker (11)

柏の葉キャンパス アクアテラス環境モニタリング
柏の葉キャンパス アクアテラス環境モニタリング柏の葉キャンパス アクアテラス環境モニタリング
柏の葉キャンパス アクアテラス環境モニタリング
 
モバイルバッテリーをArduino io tで使う方法
モバイルバッテリーをArduino io tで使う方法モバイルバッテリーをArduino io tで使う方法
モバイルバッテリーをArduino io tで使う方法
 
Public MQTT
Public MQTTPublic MQTT
Public MQTT
 
組織にばれない情報漏洩の手法
組織にばれない情報漏洩の手法組織にばれない情報漏洩の手法
組織にばれない情報漏洩の手法
 
クラウド事業者のためのクラウドセキュリティ(公開用)
クラウド事業者のためのクラウドセキュリティ(公開用)クラウド事業者のためのクラウドセキュリティ(公開用)
クラウド事業者のためのクラウドセキュリティ(公開用)
 
Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用
 
Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用
 
Androidアプリ内蔵広告 徹底解析 公開用
Androidアプリ内蔵広告 徹底解析 公開用Androidアプリ内蔵広告 徹底解析 公開用
Androidアプリ内蔵広告 徹底解析 公開用
 
クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ
 
クラウド移行で解決されるセキュリティとリスク 公開用
クラウド移行で解決されるセキュリティとリスク 公開用クラウド移行で解決されるセキュリティとリスク 公開用
クラウド移行で解決されるセキュリティとリスク 公開用
 
クラウド移行で解決されるセキュリティとリスク
クラウド移行で解決されるセキュリティとリスククラウド移行で解決されるセキュリティとリスク
クラウド移行で解決されるセキュリティとリスク
 

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