Scapyでpcap 内すべてのパケットのsource ,destination MAC アドレスを初期化する
pcap内のパケットの書きかえをPython, Scapyで行ったので記す。
今回はMACアドレスの初期化(具体的な値でもよい)を行っている。
応用すれば、IPの書き換えなどもすぐ行えるだろう。
使用用途
テスト用のパケットを流入する際に、MACアドレスやIPアドレスが違うと流せない場合がある。環境に合わせてテストパケットをpcapから流せるようにすることが今回の目的となる。
例えば、TAG VLANがついているパケットはレイヤが2の箇所で環境依存してしまう。
VLANを合わせるか、UNTAGにする必要がある。
内容
Pythonでパパっと書いてみた。
scapyにはpcapの中身を読み取る関数と、packetをpcapに書き出す関数があるので、
パケットの読み取り→パケット操作(今回はMACアドレス編集)→編集後のパケットをパケットリストに追加→すべて終わったらpcapに書き出し。
と行った。
(Pythonをほとんど書いたことがないため、汚いコードかも)