徳丸本の環境をMacのVirtualBoxで構築する

第2版が出るらしいので、もうこの記事は不要かと思います

会社で徳丸本こと体系的に学ぶ安全なWebアプリケーションの作り方の読書会が始まったのだけど、環境構築手順がWindows向けだったのでMac向けの構築の際に行ったことをメモ。

VirtualBoxのインストール

自分の環境はすでに入っていたのでスキップ。入れてない人は VirtualBoxのダウンロードページ からダウンロードしてインストールしてください。

VMイメージをローカルに展開

紙の本で買った人はCD-ROMから、pdf版買った人はダウンロードして何処かに展開。~/work/WASBOOK/以下に配置したことにします。

VM作成

VirtualBoxの画面から新規をクリックし、名前:任意(WASBOOKとでもしておきます)、タイプ:Linux、バージョン:UbuntuとしてVMを作成します。

f:id:tarhashi:20130601150855p:plain

メモリは512MBぐらいにしておきます。

f:id:tarhashi:20130601150937p:plain

VirtualBoxでもVMWareのイメージが使えるので先ほど保存したファイルに含まれるwasbook.vmdkをそのまま使ってしまいます。

f:id:tarhashi:20130601151005p:plain

そのまま完了まで進めて、VMの作成は完了。

ネットワーク設定(ホスト側)

まだあまり本を読み進められてないけど外部に接続する必要は多分無いので、ホストオンリーネットワークで構築していくことにします。 VirtualBox -> 環境設定 からネットワークを開き、ホストオンリーネットワークを作成。192.168.56.1としておきます。DHCPサーバは今回の構成では使わないので設定しなくてOK。

f:id:tarhashi:20130601151504p:plain

ネットワーク設定(ゲスト側)

先ほど作成したVM(WASBOOK)の設定を開き、ネットワークのアダプタ−1をホストオンリーアダプターに変更。また、先ほど作成したホストオンリーネットワークを選択(今回はvboxnet1)。

f:id:tarhashi:20130601151808p:plain

VMを起動し、ネットワーク設定を修正

とりあえずVMを起動します・・・が、このままでは使えないのでゲストの設定を修正していきます。ひとまずrootでログインし、ifconfigを確認。

f:id:tarhashi:20130601152151p:plain

ここからネットワークを直していきます。

# vi /etc/network/interfaces

最初、

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

となっているので、以下のように修正。

auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

設定変更を反映させるため、networkを再起動。

# /etc/init.d/networking restart

pingが通るか確認しておきます。ゲスト側から

# ping 192.168.56.1

ホスト側から

$ ping 192.168.56.101

として、どちらも通っていればOK。

ホスト側のhostsへ追加

$ sudo -e /etc/hosts

# 次の行を追加
192.168.56.101 example.jp trap.example.com

追記後、ブラウザからhttp://example.jphttp://trap.example.comを開き、アクセスできればネットワーク設定は完了。

Fiddlerの代わりに使うもの

Fiddlerを使って進めていくことになってますが、この代わりに使うものを何にするのがよさそうかはまだ検証中。ひとまず、Firefox + Tamper Dataあたりがリクエスト、レスポンスの確認+改ざんが楽にできるかな?というあたり。もしくはWireSharkでやってしまう?しかしちょっと手軽さに欠けるか?