覚書: snifferでHTTPのデータを抽出する

$ sudo tshark -i wlan0 -w - host example.com and port 80 | tcpflow -r /dev/stdin

xxx.xxx.xxx.xxx.00080-192.168.002.002.46162のようなファイルができる。
ファイル名: .-.
HTTPの対話がリクエスとリスポンスメッセージとして保存される。ここからbodyを切り出すのは簡単。

HTTPメッセージからのBODYの抽出はwiresharkでもできるけど対話的インターフェスになる。("follow tcp stream" 右クリックでexport to fileとか)

以前からtcpdumpで試みてみたがHTTPのBODYをパケットから作り直すやりかたがわからなかった。というか、tcpdumpではそこまでできないようだ。だから誰かがtcpflowのようなプログラムを作ったんだろう。

これで自分でブラウズしたドキュメントやメディアを保存したり解析できる。ブラウザに依存しないヒストリ、アーカイブ、検索機能などが実装できる。この前chromeが勝手にヒストリを消しちゃうし。ブラウザはアテにならん。