0

それは長い質問であり、それは素人かもしれません。申し訳ありませんが、私はプログラミングが初めてです。サービス拒否 (DOS) 攻撃をテストするためのコンソール ベースのアプリケーションを設計したいと考えています。コンソールping example.com -t -l 65000で実行する必要があるのは だけだとします。コンソールをバックグラウンドで実行したい。しかし、バックグラウンドで ICMP フラッディングを実行している 5 つの異なるコンソールが必要です。プロセスを強制終了するには、手動でプロセスを強制終了する必要があります。テストはリアルタイム環境で行われます。Windowsで実行するための.exeファイルを作成する必要があります。

MS Visual Studio 2010 を使用して c# でプログラムをビルドしていますが、何ができますか?

どんな提案でも大歓迎です。

4

2 に答える 2

3

ping 要求でサーバーを強制終了しようとしていますか? サーバーが Ping 要求を処理するのは非常に簡単です。理論的にはレイヤー 4 を介して攻撃し、パイプ ラインをフラッディングすることもできますが、エコー リクエスト以外の方法で攻撃する方が賢明です。

DoS 攻撃を試みている場合 (研究目的であることを願っています)、部分的な GET 要求を確認することをお勧めします。私は彼らに対して非常に効果的な攻撃を実行することができました.サーバーは私が望む限り応答しない運命にあります. HTTP サーバーは応答しませんでしたが、ping 要求は、何も起こらなかったかのように、まったく同じトリップ時間を返し続けました。

部分的な GET / POST リクエストは、現在よりも長い間非常にうまく機能します。この問題を克服するのは非常に難しいようです。Apache はこの状況をよく認識しています。

IIS も部分的な POST に対しては同じ反応を示すが、部分的な GET に対しては反応しないと聞いたことがあります。

このテクニックに関するいくつかの数字:

30 秒ごとに 2 ~ 3 秒間、最大 5000 バイト/秒。それは帯域幅の使用であり、基本的にはたまに 150 の GET リクエストです。

Apache サーバーのすべての空きスロットがすぐにいっぱいになります。

何かが起こっていることを検出するのは非常に困難です。攻撃中の CPU は約 0.05% であり、ネットワーク接続もそれほどストレスを受けていません。

そしてもちろん、他の HTTP リクエストがサーバーに到達することはほとんどありませんでした。サーバーの読み取りタイムアウトに達し、すべての接続を再起動する必要があるときに到達できます。

HTTP 接続用のスロットが 150 を超えるサーバーでこれを試したことはありません。

于 2013-07-05T16:00:53.493 に答える
0
System.Diagnostics.Process proc;

cmd = "/C ping example.com -t -l 65000";
for (i = 0; i < 5; i++)
{
    proc = new System.Diagnostics.Process();
    proc.EnableRaisingEvents = false;
    proc.StartInfo.FileName = "cmd";
    proc.StartInfo.Arguments = cmd;
    proc.Start();
}
于 2013-04-19T08:07:27.030 に答える