2008-06-13-1
checkpad ではデータをバックアップする方法が 2 種類用意されています。
checkpad にログインし、[設定変更] を開き、[全データをメールで送信] か [テキストでデータをダウンロード] をクリックします。
今回は、[テキストでデータをダウンロード] の方を使ってバックアップを自動化してみます。
通常のウェブなら wget で取得するだけですが、checkpad ではログインが必要なのでちょっと難しいです。
まず、認証をパスするために Cookie を取得します。
ここでは、普段使用している Firefox などのブラウザ、tcpdump, Wireshark を使います。
1. Firefox などのブラウザで checkpad にログインして [設定変更] を開きます。
2. ターミナルを開き、tcpdump でパケットキャプチャを開始します。$ sudo tcpdump -i eth0 -x port 80 -s 1600 -w checkpad.cap
プロキシを使用している場合は "port 80" の 80 をプロキシサーバのポート番号にします。
3. 1. のブラウザで [テキストでデータをダウンロード] をクリックします。
実際のダウンロードは必要ないのでキャンセルします。
4. 2. のターミナルで tcpdump を Ctrl-C で終了します。
5. tcpdump を実行したディレクトリに checkpad.cap ができているのでこれを Wireshark で開きます。
6. [Edit] - [Find Packet] を選択します。
7. Find で "String" を選択し、その下の入力欄に "GET http://www.checkpad.jp/?mode=usr&act=csv" と入力します。
Search In は "Packet bytes", String Optins の "Case sensitive" にチェックを入れます。
8. [Find] をクリックし、見つかったパケットを右クリック - [Copy] - [Bytes (Printable Text Only)] を選択します。
9. テキストエディタを開き、ペーストします。
このような感じになります。)_BGET http://www.checkpad.jp/?mode=usr&act=csv HTTP/1.1
Host: www.checkpad.jp
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.9) Gecko/2008060309 Firefox/3.0
Accept: text/html
[長いので以降省略しました]