ローカルマシンでのテストのためのIPアドレスのスプーフィング/変更

StackOverflow https://stackoverflow.com/questions/913061

  •  06-09-2019
  •  | 
  •  

質問

私は自分のウェブサイトへのトラフィックを制限しようとしているので、大量のデータをスクリーンスクリープしようとしている人々がしばらくするとブロックされます。私は、着信リクエストのIPに基づいてこれを行うことになっています。私はIP制限機能を書いていると信じていますが、それをどのようにテストできるかについて困惑しています。有効なトラフィックをシミュレートするには、IPアドレスを何度も変更できる必要があります。また、20を超えるIPSをテストする必要があるため、それぞれのプロキシソリューションは私にとっては機能しません。

ローカルマシン(Ubuntuの実行)でコードをテストしているため、このテストに必要な場合はサーバー設定(Apache)を変更できます。

私はコーポレートネットワークの後ろにあるので、新しいIPを「再割り当て」するためにMACアドレス/ARP設定を変更することはできません。私はある種のローカルホストIP変化のタイプのことを望んでいたので、サーバーとクライアントが同じマシンであるという事実を利用することができました。

また、コードが生産サーバーに展開される前に、コードの変更を避けようとしていましたが、それが最良の方法かもしれません。

これをセットアップするにはどうすればよいですか?

役に立ちましたか?

解決

まあ、あなたができることは、実際にIPをチェックするのではなく、次のようなことをすることです。

$ip = '1337.1337.1337.1337';

それ以外の:

$ip = $_SERVER['REMOTE_ADDR']

次に、IPチェックコードを実行します。

したがって、完了したら、$ ip変数コードを次のようにすることができます。

//$ip = '1337.1337.1337.1337';
$ip = $_SERVER['REMOTE_ADDR']

したがって、「デバッグスイッチ」を簡単にオン /オフにすることができます

編集:

または、IPを動的にすることもできます:

$ips = Array('192.168.1.220', '120.843.592.86', '256.865.463.563');
$ip = $ips[rand(1,count($ips)-1)];

他のヒント

Linuxで次のコマンドを実行することで、簡単にそれを行うことができます。

ifconfig eth0:0 127.0.0.2
ifconfig eth0:1 127.0.0.3
など...(偽のローカルインターフェイスの作成)

0.0.0.0(すべてのインターフェイス)で聞いていない場合は、それらのIPSでApacheをリッスンするように構成する必要がある場合があります。その後、それらのipsに直接アクセスできます。

他のIPSを使用したい場合は、簡単に実行できますが、テストが完了したら削除することを忘れないでください。

これは、ローカルマシンからローカルマシンまでのみ機能します。

これをテストする方法はたくさんあります。 IMOが最も簡単な方法は、IPアドレスがサーバーのMACアドレスになりすましているARPエントリのリストを作成することです。次に、SRCアドレスを各偽装されたIPアドレスに設定する簡単なアプリを作成し、必要なHTTP要求を接続して送信できます。サーバーは正常に返信する必要があります。

これがあなたが探しているものであるかどうかは正確にはわかりませんが、Macアドレスを吹き飛ばさなければならなかったので、大学でダウンロードクォータを回避するために新しいIPを取得できました。 Macを変更すると、新しいIPが発生しました。 「MacChanger」と呼ばれる標準のubuntuリポジトリには、正しいオプション(ランダムのために「-R」)でそれを実行し、デバイスを指定するプログラムがあります。そのようです。

sudo macchanger -r eth0

これを行うときは、ネットワーキングを無効にする必要があります。ネットワークアイコンを右クリックして、「ネットワークを有効にする」ボックスをチェックすることにより、これを行うことができます。

ファイアウォールレベルでこれを行うことを検討したいと思います(ホストのSWファイアウォールよりも、Corp Border Firewallではない場合)。アプリケーションレベルでのみ制限している場合、虐待的なホストがサイトのパフォーマンスを引き下げたり、影響を与えることができる多くの状況があります。あなたがそれらを拒否しても、彼らはまだソケットとWebサーバーワーカーのスレッドを消費しています。 IPチェックの前に費用がかかるコードさえある場合があります。実際には、アプリケーションがどれだけ軽量であるかに依存していますが、ハードウェアであろうとSWであろうと、ファイアウォールは、アプリケーションよりも効率的に手に負えないクライアントをブロックできると確信しています。

この答えはおそらくこのアプリケーションではやり過ぎですが、私は使用するのが好きです tcpdump / libpcap, winpcap, 、およびトラフィックを生成するための生のソケット。あなたはあなたのアプリケーションとの間のボリュームを大いに制御するだけでなく、あなたがあなたのために何を期待できるか、そしてあなたが期待していなかった(またはあなたのためにどのような種類のトラフィックがブロックされているかについて多くのことを学びます(またはブロックしたくないこと)。

ランダム関数を使用し、制限をRAND(0,255)に設定し、文字列をIP形式に連結します。あなたが電話をかけるとき、あなたが新しいIPアドレスを取得するでしょう

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top