Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/camp0/aiengine
パケットスニッフィングと分析脆弱性分析フォレンジックネットワークセキュリティ機械学習侵入検知DNS分析異常検知
GitHubcamp0/aiengine

aiengine

NIDS、DNS分類、頻度分析、自動正規表現生成を備えたプログラム可能なパケット検査エンジン。データベースや他のセキュリティツールとの統合のためのPython/Ruby/Java/Luaバインディングをサポート。

リポジトリを見る
3179年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

AIEngine (人工知能エンジン)

AIEngineは、人間の介入なしに学習できる次世代の対話型/プログラマブルPython/Ruby/Java/Luaパケット検査エンジンであり、NIDS(ネットワーク侵入検知システム)機能、DNSドメイン分類、ネットワークコレクター、ネットワークフォレンジックなど、さまざまな機能を備えています。

この実際のプロジェクトは https://bitbucket.org/camp0/aiengine にあります。

AIEngineはまた、ネットワーク/セキュリティ専門家がトラフィックを識別し、NIDS、ファイアウォール、トラフィック分類器などで使用するシグネチャを開発するのに役立ちます。

AIEngineの主な機能は以下の通りです。

  • エンジン実行中にユーザーと対話/プログラミングするサポート。
  • PCRE JITによる正規表現マッチングのサポート。
  • 正規表現グラフ(複雑な検出パターン)のサポート。
  • 5種類のNetworkStack(lan、mobile、lan6、virtual、oflow)のサポート。
  • IP検索のためのセットとブルームフィルターのサポート。
  • Linux、FreeBSD、MacOSオペレーティングシステムのサポート。
  • HTTP、DNS、SSLドメインマッチングのサポート。
  • HTTP、DNS、SMTP、SSLの禁止ドメインとホストのサポート。
  • 未知のトラフィックに対する頻度分析と自動正規表現生成。
  • Yaraシグネチャの生成。
  • データ相関のためのデータベース(MySQL、Redis、Cassandra、Hadoopなど)との簡単な統合。
  • 他のパケットエンジン(Netfilter)との簡単な統合。
  • 保存されたメモリ情報を更新するためのメモリクリーンキャッシュのサポート。
  • ネットワーク/アプリケーション層でのDDoS検出のサポート。
  • TCP/UDP接続の拒否のサポート。
  • リアルタイムのネットワークフォレンジックのサポート。
  • Bitcoin、CoAP、DHCP、DNS、GPRS、GRE、HTTP、ICMPv4/ICMPv6、IMAP、IPv4/v6、Modbus、MPLS、MQTT、NTP、OpenFlow、POP、RTP、SIP、SMTP、SSDP、SSL、TCP、UDP、VLAN、VXLANなどのプロトコルのサポート。

AIEngineの使用

AIEngine(簡易版)を使用するには、バイナリaiengineを実行するか、Python/Ruby/Java/Luaバインディングを使用します。

root@kitploit:~
luis@luis-xps:~/c++/aiengine/src$ ./aiengine -h
aiengine 1.5
必須引数:
  -I [ --input ] arg                ネットワークインターフェース、pcapファイル、または
                                     pcapファイルを含むディレクトリを設定します。

リンク層オプション引数:
  -q [ --tag ] arg      イーサネット層のタグタイプを選択します (vlan、mpls)。

TCPオプション引数:
  -t [ --tcp-flows ] arg (=32768) プール内のTCPフロー数を設定します。

UDPオプション引数:
  -u [ --udp-flows ] arg (=16384) プール内のUDPフロー数を設定します。

正規表現オプション引数:
  -R [ --enable-signatures ]     シグネチャエンジンを有効にします。
  -r [ --regex ] arg (=.*)       フローに対して評価する正規表現を設定します。
  -c [ --flow-class ] arg (=all) シグネチャをフローにマッチさせるためにtcp、udp、またはallを使用します。
  -m [ --matched-flows ]         正規表現にマッチしたフローを表示します。
  -j [ --reject-flows ]          正規表現にマッチしたフローを拒否します。
  -w [ --evidence ]              フォレンジック解析のためにマッチング正規表現のpcapファイルを生成します。

頻度オプション引数:
  -F [ --enable-frequencies ]         頻度エンジンを有効にします。
  -g [ --group-by ] arg (=dst-port)   頻度をsrc-ip、dst-ip、src-port、dst-portでグループ化します。
  -f [ --flow-type ] arg (=tcp)       tcpまたはudpフローを使用します。
  -L [ --enable-learner ]             学習エンジンを有効にします。
  -k [ --key-learner ] arg (=80)      学習エンジンのキーを設定します。
  -b [ --buffer-size ] arg (=64)      正規表現生成の内部バッファサイズを設定します。
  -y [ --enable-yara ]                Yaraシグネチャを生成します。

オプション引数:
  -n [ --stack ] arg (=lan)    ネットワークスタックを設定します (lan、mobile、lan6、virtual、oflow)。
  -d [ --dumpflows ]           フローを標準出力にダンプします。
  -s [ --statistics ] arg (=0) ネットワークスタックの統計を表示します(5レベル)。
  -T [ --timeout ] arg (=180)  フローのタイムアウトを設定します。
  -P [ --protocol ] arg        ネットワークスタックの特定のプロトコルの統計を表示します。
  -e [ --release ]             キャッシュを解放します。
  -l [ --release-cache ] arg   特定のキャッシュを解放します。
  -p [ --pstatistics ]         プロセスの統計を表示します。
  -h [ --help ]                ヘルプを表示します。
  -v [ --version ]             バージョン文字列を表示します。

NetworkStackの種類

AIEngineは、ネットワークトポロジに応じて5種類のネットワークスタックをサポートしています。

  • StackLan (lan) IPv4ベースのローカルエリアネットワーク。

  • StackLanIPv6 (lan6) IPv6サポート付きローカルエリアネットワーク。

  • StackMobile (mobile) IPv4用ネットワークモバイル(Gnインターフェース)。

  • StackVirtual (virtual) VxLanとGRE透過を使用した仮想/クラウド環境用スタック。

  • StackOpenFlow (oflow) OpenFlow環境用スタック。

AIEngineを他のシステムと統合/プログラミング

AIEngineはPython/Ruby/Java/Luaモジュールでもあり、他のシステムや機能との統合において柔軟性を高めています。 Pythonモジュールが提供するエクスポートされる主なオブジェクトは以下の通りです。

root@kitploit:~
    DNSInfo
    BitcoinInfo
    DatabaseAdaptor (抽象クラス)
    DomainName
    DomainNameManager
    Flow
    FlowManager
    Frequencies
    FrequencyGroup
    HTTPInfo
    HTTPUriSet
    IMAPInfo
    IPAbstractSet (抽象クラス)
        IPSet
    IPSetManager
    LearnerEngine
    NetworkStack (抽象クラス)
        StackLan
        StackLanIPv6
        StackMobile
        StackOpenFlow
        StackVirtual
    POPInfo
    PacketDispatcher
    PacketFrequencies
    Regex
    RegexManager
    SIPInfo
    SMTPInfo
    SSLInfo
    MQTTInfo
    CoAPInfo

クラスメソッドの完全な説明については、

root@kitploit:~
import pyaiengine
help(pyaiengine)

設定のwikiページまたはexamplesディレクトリを確認して、より興味深い例を参照してください。 [https://bitbucket.org/camp0/aiengine/wiki/Configurations]

AIEngineバイナリのコンパイル

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ make

AIEngine Pythonライブラリのコンパイル

ライブラリをコンパイルする最初のオプションはO3コンパイル最適化を使用することです。これにより小さなライブラリが生成されます。

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ make python
$ python pyai_test.py

2番目のオプションは、setup.pyを使用して標準的なPython方式でライブラリをコンパイルします。これにより、以前のものと比較してライブラリサイズが大きくなります。

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ python setup.py build_ext -i 
$ python pyai_test.py

AIEngine Rubyライブラリのコンパイル

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ make ruby
$ ruby ruai_tests.rb

AIEngine Javaライブラリのコンパイル

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ make java
$ java -cp ".:/usr/share/java/junit.jar:/usr/share/java/hamcrest/core.jar:./buildjava" org.junit.runner.JUnitCore JunitTestSuite

AIEngine Luaライブラリのコンパイル

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ cd src
$ make lua
$ lua luai_tests.lua

AIEngineへの貢献

AIEngineはc++11/14標準で開発されており、GPLv2の条件の下で提供されています。

AIEngineのソースをチェックアウトするには:

root@kitploit:~
$ git clone https://bitbucket.com/camp0/aiengine

何らかの機能に興味がある場合や支援が必要な場合は、メールをお送りください。貢献は常に歓迎します。

新機能の開発

AIEngineはテスト駆動開発を使用して開発されています。したがって、同じライフサイクルを維持するために、新しい機能は新機能用に作成されたディレクトリに単体テストを配置し、システム全体と統合するために、後で/srcディレクトリのメインのtests.ccファイルに統合する必要があります。

ツールをダウンロード