python=を使用しており、コンピュータとサイト間のHTTP(s)トラフィックをこすり取ろうとしています。これには、すべての着信および発信リクエスト、応答(画像や外部呼び出しなど)が含まれます。
hit_site
関数内のネットワークトラフィックを見つけようとしましたが、情報が見つかりません。
hit_site("http://www.google.com")
def hit_site(url):
print url
r = requests.get(url,stream = True)
print r.headers
print r.encoding
print r.status_code
print r.json()
print requests.get(url,stream=True)
print r.request.headers
print r.response.headers
for line in r.iter_lines():
print line
data = r.text
soup = BeautifulSoup(data)
return soup
取得したい情報のタイプの例は次のとおりです(私はこの情報を取得するためにfiddler2を使用しました。これ以上の情報はすべて、groupon.comにアクセスして取得しました)。
# Result Protocol Host URL Body Caching Content-Type Process Comments Custom
6 200 HTTP www.groupon.com / 23,236 private, max-age=0, no-cache, no-store, must-revalidate text/html; charset=utf-8 chrome:6080
7 200 HTTP www.groupon.com /homepage-assets/styles-6fca4e9f48.css 6,766 public, max-age=31369910 text/css; charset=UTF-8 chrome:6080
8 200 HTTP Tunnel to img.grouponcdn.com:443 0 chrome:6080
9 200 HTTP img.grouponcdn.com /deal/gsPCLbbqioFVfvjT3qbBZo/The-Omni-Mount-Washington-Resort_01-960x582/v1/c550x332.jpg 94,555 public, max-age=315279127; Expires: Fri, 18 Oct 2024 22:20:20 GMT image/jpeg chrome:6080
10 200 HTTP img.grouponcdn.com /deal/d5YmjhxUBi2mgfCMoriV/pE-700x420/v1/c220x134.jpg 17,832 public, max-age=298601213; Expires: Mon, 08 Apr 2024 21:35:06 GMT image/jpeg chrome:6080
11 200 HTTP www.groupon.com /homepage-assets/main-fcfaf867e3.js 9,604 public, max-age=31369913 application/javascript chrome:6080
12 200 HTTP www.groupon.com /homepage-assets/locale.js?locale=en_US&country=US 1,507 public, max-age=994 application/javascript chrome:6080
13 200 HTTP www.groupon.com /tracky 3 application/octet-stream chrome:6080
14 200 HTTP www.groupon.com /cart/widget?consumerId=b577c9c2-4f07-11e4-8305-0025906127fe 17 private, max-age=0, no-cache, no-store, must-revalidate application/json; charset=utf-8 chrome:6080
15 200 HTTP www.googletagmanager.com /gtm.js?id=GTM-B76Z 39,061 private, max-age=911; Expires: Wed, 22 Oct 2014 20:48:14 GMT text/javascript; charset=UTF-8 chrome:6080
Pythonを使用してネットワークトラフィックをキャプチャする方法に関するアイデア
dpkt は、TCPトラフィックを解析するための拡張ツール(Pythonで記述)です。これは SSLハンドシェイクに関連するパケットのデコードのサポートを含む です。 Pythonからのキャプチャを実行およびデコードするための別のツールは pypcapfile です。
SSLトラフィックをデコードするには、データを含むの場合、秘密鍵を知っている必要があることに注意してください。これは、Googleのように制御できないサードパーティのサーバーにはやや問題があり、回避するにはかなりの労力が必要です。そのようなアプローチの1つは、既知の秘密鍵を使用してプロキシーをセットアップし、中間者を演じることです(そして、自己署名CAをローカルストアにインストールして、ブラウザーに強制的に受け入れさせます)。