tcprewriteを使ってみたのでメモ。
こちらは全くと言って良いほど日本語の解説ページが無かった。
tcprewriteとはethereal,wireshark,tcpdump等のパケットキャプチャツールで
キャプチャしたpcapデータを書き換えるためのソフトです。
使用方法:
*全ての例で元ファイル名はtest.pcap、書き換え後のファイル名はoutput.pcap
(a) test.pcapのMAC DAを00:00:00:00:00:02に変更
# tcprewrite --enet-dmac=00:00:00:00:00:02 --infile=test.pcap --outfile=output.pcap
(b) test.pcapのMAC SAを00:00:00:00:00:01に変更
# tcprewrite ---enet-smac=00:00:00:00:00:01 --infile=test.pcap --outfile=output.pcap
(c) test.pcapのIPを192.168.1.***から210.128.10.***に変更
# tcprewrite --pnat=192.168.1.0/24:210.128.10.0/24 --infile=test.pcap --outfile=output.pcap
(d) test.pcapのIPを192.168.1.1から210.128.10.20に変更
# tcprewrite --pnat=192.168.1.1/32:210.128.10.20/32 --infile=test.pcap --outfile=output.pcap
(e) test.pcapのIPを192.168.1.1から210.128.10.20に、192.168.1.2から210.128.10.21に変更
# tcprewrite --pnat=192.168.1.1/32:210.128.10.20/32,192.168.1.2/32:210.128.10.21/32 --infile=test.pcap --outfile=output.pcap
(f) test.pcapのl4 port番号を1024から2048に変更
# tcprewrite portmap=1024:2048 --infile=test.pcap --outfile=output.pcap
(g) test.pcapのl4 port番号を1024から2048に、80から8080に変更
# tcprewrite portmap=1024:2048,80:8080 --infile=test.pcap --outfile=output.pcap
使ってみたオプションは以下。
--infile :編集前のpcapファイル
--outfile :編集後のpcapファイル
--enet-dmac :MAC DAを任意の値に変更
--enet-smac :MAC SAを任意の値に変更
--pat :IP(DA,SA両方)を任意の値に変更
--portmap :IP(DA,SA両方)を任意の値に変更
注意点としては、(c)の例のように実行すると、IP DA,SAが共に192.168.1.***だった
場合、両方が書き換わってしまう事。
個別に書き換えたい場合は(e)の例のようにsubnetを32に設定し、書き換えルールを2つ
書くとOK。上記は(f)のポート書き換えの場合でも同様です。
また、pnat,portmapオプションを使用する場合、元々の値を知っている必要があるため、
tcpdump等で予め調べて必要がある。
めんどくさいなあ、MACみたいなオプションにしてくれればいいのに。。

0 commnet :: tcprewriteの使い方
コメントを投稿