Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C vs BASHフォーク爆弾?


Fork()爆弾は、Linuxベースのシステムに対するDos(Denial Of Service)攻撃です。これにより、Fork()システムが無限に呼び出され、プログラムのメモリがいっぱいになり、システムに害を及ぼすことが意図されます。

フォーク爆弾のBashスクリプト

:(){ :|: & };:

:()として説明されているコードは関数定義であり、{}はループの本体を定義します。 :|:&メモリの場所を作成し、割り当てを解除することを許可しません。このプログラムは、何度も何度も自分自身を呼び出します。したがって、無限の呼び出しを呼び出します。

Cフォーク爆弾も同じタイプのDoSですが、Cコンパイラで実行できます。これにより、メモリ割り当てへの無限の呼び出しが作成され、システムがメモリ不足になります。

#include <unistd.h>
#include <malloc.h>
int main() {
   while (1) {
      fork();
   }
}

出力

Infinite calls

  1. Bashツールを使用してLinuxシステム構成のスクリーンショットを作成します

    Linux構成を他の人と共有したい理由はたくさんあります。システムの問題のトラブルシューティングに役立つ情報を探している場合もあれば、作成した環境を非常に誇りに思っているため、他のオープンソース愛好家に紹介したい場合もあります。 その情報の一部は、 cat / proc / cpuinfoで取得できます。 またはlscpu Bashプロンプトでコマンドを実行します。ただし、オペレーティングシステム、カーネル、稼働時間、シェル環境、画面解像度などの詳細を共有したい場合は、screenFetchとNeofetchの2つの優れたツールを選択できます。 ScreenFetch Screen

  2. Windows エラー 43

    Windows エラー 43 これは、ハードウェアの実行に必要な重要なオプションを PC が正しく処理できないために発生する問題です。通常、このエラーは、ハードウェアのドライバーが正しくないか、実行に必要な設定を処理できないために表示されます。このチュートリアルでは、システムで Windows エラー 43 の問題を修正する方法を示します。 Windows エラー 43 の原因 このエラーは次の形式で表示されます: 問題が報告されたため、Windows はこのデバイスを停止しました (コード 43) エラーは、システムのハードウェアが正しく処理できないために発生します。このエ