TCPCOPY 1.0 インストールと使用方法
TCPCOPY 1.0 インストールと使用方法
はじめに
TCPCOPY は、NetEase エンジニア @tcpcopy によって開発および保守されている tcp トラフィック用のリアルタイム コピー ツールです。通常、テストのためにオンライン トラフィックを実稼働環境からテスト環境にリアルタイムでコピーするために使用されます。たとえば、新しいシステムをオンラインにする前に、いくつかの基本的なストレス テストを実行したい場合、tcpcopy を直接使用してオンライン トラフィックをコピーし、システムをテストできるという利点があります。これは、テスト データが実際のレベルに近いことです。であり、実装は比較的簡単です。
1. アーキテクチャ
2. インストール
テストで使用した 3 台のサーバーの情報は次のとおりです。
オンライン サーバー オンライン サーバー イントラネット IP アドレス 192.168.0.8/24 外部 IP アドレス 214.167.0.8/28
テストサーバー テストサーバー イントラネット IP アドレス 192.168.0.230/24 外部ネットワーク IP 214.167.0.13/28
アシスタントサーバー アシスタントサーバー イントラネット IP アドレス 192.168.0.219/24 外部ネットワーク IP 214.167.1.76/24
192.168.0.8 はオンラインサーバーです。 192.168.0.230 と 192.168.0.219 はテスト環境です。 192.168.0.8 で tcpcopy を実行し、オンライン トラフィックを 192.168.0.230 にコピーします。192.168.0.230 では、ルーティングを通じて応答を
192.168.0.219 にリダイレクトし、192.168.0.219 の応答を破棄します。
最初のステップは、オンラインサーバー 192.168.0.8 に tcpcopy デーモンをインストールして実行することです。
バージョン 1.0 のソースコードパッケージを github からダウンロードします
wget https://github.com/session-replay -tools/ tcpcopy/archive/1.0.0.tar.gz -O tcpcopy-1.0.0.tar.gz
依存パッケージをインストールします。
yum -y install libpcap-devel
tar zxvf tcpcopy- 1.0.0. tar.gz
cd tcpcopy-1.0.0
./configure (パケットをキャプチャするデフォルトの raw ソケット モード)
make
make install
最後に tcpcopy を実行します;
/usr/local/tcpcopy/sbin/tcpcopy -x 80-192.168.0.230 :80 -s 192.168.0.219 -c 10.10.10.x -d -C 4 -l tcpcopy.log -P /var/run/tcpcopy.pid
コマンドの説明:
-x 80- 192.168.0.230:80 このマシンのポート 80 のトラフィックを 192.168.0.230 (テスト サーバー) のポート 80 にコピーします。
-s は、インターセプト プロセスが配置されているサーバー 192.168.0.219 を指定します。 (パケット損失サーバー)
-c 230 テストサーバーでルーティングを設定するために、要求されたホストアドレスを 10.10.10.x に変更します (ルーティングは、応答を 219 パケット損失サーバーにリダイレクトするように設定されています)
-C 4 つのプロセスを開始します
- d デーモンとして実行します
-l ログを記録します
-P pid を記録します
その他のパラメータは、/usr/local/tcpcopy/sbin/tcpcopy で表示できます -h
ネットワーク接続ステータス操作が成功した後に確認できます:
# ss -an|grep 192.168.0.219
ESTAB 0 0 192.168.0.8:49034 192.168.0.219:36524
ESTAB 0 0 192.168.0.8:49035: 36524
EST AB 0 0 192.168.0.8:49032 192.168.0.219:36524
ESTAB 0 0 192.168.0.8:49033 192.168.0.219:36524
2 番目のステップは、補助サーバーにインターセプト デーモンをインストールして実行することです192.168.0.219:
1.0をダウンロードgithub からバージョン ソース コード パッケージを取得します。
w get https://github.com/session-replay-tools/intercept/archive/1.0.0.tar.gz -O intercept-1.0.0.tar.gz
依存関係パッケージをインストールします;
yum -y install libpcap-devel (CentOS6 システムは yum を使用してバージョン 1.4 を直接インストールできます)
CentOS5 システムの libpcap-devel バージョンは libpcap-devel-0.9.4-15.el5 であることに注意してください。intercept-1.0 には libcap- devel1.4 以降、ソース パッケージのインストールが必要です
yum delete libpcap
wget http://www.tcpdump.org/release/libpcap-1.4.0.tar.gz
tar zxvf libpcap-1.4。 0.tar.gz
cd libpcap-1.4.0
./configure
make
make install
解凍、コンパイル、インストール;
tar zxvf intercept-1.0.0.tar.gz
cd intercept-1.0。 0
./configure (パケットをキャプチャするデフォルトの raw ソケット モード)
make && make install
最後に intercept を実行します
/usr/local/intercept/sbin/intercept -i eth1 -l intercept.log -P /var/run/ intercept.pid -F 'tcp および src port 80' -d
コマンドの説明:
-i ネットワーク カード インターフェイスを監視します
-l ログを記録します
-F プロトコルとポートを監視します
-P 記録 pid
-d は次のように実行されますデーモン
その他のパラメーターは、/usr/local/intercept/sbin/intercept -h
観察 操作が成功した後に観察できるネットワーク接続ステータス:
# SS -AN | 36524
listen 0 5 *: 36524 *: *
ESTAB 0 66 192.168.0.219:36524 192.168.0.8:49034
ESTAB 0 0 192.168.0.219:36524 192.168.0.8:49035
ESTAB 0 66 19:36524 192.168.0.8:49032
ESTAB 0 0 192.168 .0.219:36524 192 .168.0.8:49033
ステップ 3、テストサーバー 192.168 でルートを設定します。.0.230:
[root@bogon ~]# Route add -net 10.10.10.0 netmask 255.255.255.0 gw 192.1 68. 0.219
テストが正常に実行されたときに観察できるネットワーク接続ステータス:
# ss -an |head
State Recv-Q Send-Q Local Address:Port Peer Address:Port
リッスン 0 0 127.0.0.1:199 *:*
リッスン 512 0 *:80 *:* ESTAB 0 0 192.168.0.230:80 10.10.10.1:62602
ESTAB 0 0 192.168.0.230:80 10.10 .4:54595
ESTAB 0 0 192.168.0.230:80 10.10.10.3:53566
ESTAB 0 0 192.168.0.230:80 10.10.10.6:49260
ESTAB 0 0 192.168.0.230:80 10.10.10.8 7598
ESTAB 0 0 192.168.0.230:80 10.10 .10.7:64454
ESTAB 0 0 192.168.0.230:80 10.10.10.1:63081
参考リンク:
http://blog.csdn.net/wangbin579/article/ 49315
http ://blog.csdn.net/wangbin579/article/details/8950282
http://www.bkjia.com/PHPjc/1081461.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1081461.html技術記事 TCPCOPY 1.0 のインストールと使用法 TCPCOPY 1.0 のインストールと使用法について TCPCOPY は、TCP トラフィック用のリアルタイム コピー ツールで、バージョン 1.0 は NetEase エンジニア @tcpcopy によって開発および保守されています。一般的には...