Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
aiengine — Moteur programmable d'inspection de paquets avec NIDS, classification DNS, analyse de fréquence et génération automatique de regex. Supporte les bindings Python/Ruby/Java/Lua pour l'intégration avec des bases de données et d'autres outils de sécurité. | Kitploit
Outils/GitHubGitHub/camp0/aiengine
Sniffing et Analyse de PaquetsAnalyse des VulnérabilitésAnalyse ForensiqueSécurité RéseauApprentissage AutomatiqueDétection d'IntrusionAnalyse DNSDétection d'Anomalies
GitHubcamp0/aiengine

aiengine

Moteur programmable d'inspection de paquets avec NIDS, classification DNS, analyse de fréquence et génération automatique de regex. Supporte les bindings Python/Ruby/Java/Lua pour l'intégration avec des bases de données et d'autres outils de sécurité.

3177il y a 9 ansVérifié par Kitploit
Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

AIEngine (Artificial Inteligent Engine)

AIEngine est un moteur d'inspection de paquets interactif/programmable de nouvelle génération en Python/Ruby/Java/Lua avec des capacités d'apprentissage sans intervention humaine, des fonctionnalités NIDS (Système de Détection d'Intrusion Réseau), classification de domaines DNS, collecteur réseau, forensique réseau et bien d'autres.

Ce projet se trouve sur https://bitbucket.org/camp0/aiengine

AIEngine aide également les professionnels du réseau et de la sécurité à identifier le trafic et à développer des signatures pour les utiliser sur les NIDS, les pare-feux, les classificateurs de trafic, etc.

Les principales fonctionnalités d'AIEngine sont :

  • Prise en charge de l'interaction/programmation avec l'utilisateur pendant que le moteur est en cours d'exécution.
  • Prise en charge de PCRE JIT pour la correspondance d'expressions régulières.
  • Prise en charge des graphes d'expressions régulières (motifs de détection complexes).
  • Prise en charge de cinq types de piles réseau (lan, mobile, lan6, virtual et oflow).
  • Prise en charge des ensembles et des filtres de Bloom pour les recherches IP.
  • Prise en charge des systèmes d'exploitation Linux, FreeBSD et MacOS.
  • Prise en charge de la correspondance des domaines HTTP, DNS et SSL.
  • Prise en charge des domaines et hôtes interdits pour HTTP, DNS, SMTP et SSL.
  • Analyse fréquentielle du trafic inconnu et génération automatique d'expressions régulières.
  • Génération de signatures Yara.
  • Intégration facile avec les bases de données (MySQL, Redis, Cassandra, Hadoop, etc...) pour la corrélation des données.
  • Intégration facile avec d'autres moteurs de paquets (Netfilter).
  • Prise en charge des caches de nettoyage mémoire pour rafraîchir les informations mémoire stockées.
  • Prise en charge de la détection des DDoS au niveau réseau/application.
  • Prise en charge du rejet des connexions TCP/UDP.
  • Prise en charge de la forensique réseau en temps réel.
  • Prise en charge de protocoles tels que 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.
  • Utilisation d'AIEngine

    Pour utiliser AIEngine (version réduite), exécutez simplement le binaire aiengine ou utilisez la liaison python/ruby/java/lua.

    root@kitploit:~
    luis@luis-xps:~/c++/aiengine/src$ ./aiengine -h
    aiengine 1.5
    Mandatory arguments:
      -I [ --input ] arg                Sets the network interface ,pcap file or 
                                        directory with pcap files.
    
    Link Layer optional arguments:
      -q [ --tag ] arg      Selects the tag type of the ethernet layer (vlan,mpls).
    
    TCP optional arguments:
      -t [ --tcp-flows ] arg (=32768) Sets the number of TCP flows on the pool.
    
    UDP optional arguments:
      -u [ --udp-flows ] arg (=16384) Sets the number of UDP flows on the pool.
    
    Regex optional arguments:
      -R [ --enable-signatures ]     Enables the Signature engine.
      -r [ --regex ] arg (=.*)       Sets the regex for evaluate agains the flows.
      -c [ --flow-class ] arg (=all) Uses tcp, udp or all for matches the signature
    				 on the flows.
      -m [ --matched-flows ]         Shows the flows that matchs with the regex.
      -j [ --reject-flows ]          Rejects the flows that matchs with the 
                                         regex.
      -w [ --evidence ]              Generates a pcap file with the matching 
                                         regex for forensic analysis.
    
    Frequencies optional arguments:
      -F [ --enable-frequencies ]       Enables the Frequency engine.
      -g [ --group-by ] arg (=dst-port) Groups frequencies by src-ip,dst-ip,src-por
    				    t and dst-port.
      -f [ --flow-type ] arg (=tcp)     Uses tcp or udp flows.
      -L [ --enable-learner ]           Enables the Learner engine.
      -k [ --key-learner ] arg (=80)    Sets the key for the Learner engine.
      -b [ --buffer-size ] arg (=64)    Sets the size of the internal buffer for 
        	                            generate the regex.
      -y [ --enable-yara ]              Generates a yara signature.
    
    Optional arguments:
      -n [ --stack ] arg (=lan)    Sets the network stack (lan,mobile,lan6,virtual,
    			       oflow).
      -d [ --dumpflows ]           Dump the flows to stdout.
      -s [ --statistics ] arg (=0) Show statistics of the network stack (5 levels).
      -T [ --timeout ] arg (=180)  Sets the flows timeout.
      -P [ --protocol ] arg        Show statistics of a specific protocol of the 
                                       network stack.
      -e [ --release ]             Release the caches.
      -l [ --release-cache ] arg   Release a specific cache.
      -p [ --pstatistics ]         Show statistics of the process.
      -h [ --help ]                Show help.
      -v [ --version ]             Show version string.
    

    Types de piles réseau

    AIEngine prend en charge cinq types de piles réseau selon la topologie réseau.

    • StackLan (lan) Réseau local basé sur IPv4.

    • StackLanIPv6 (lan6) Réseau local avec support IPv6.

    • StackMobile (mobile) Réseau mobile (interface Gn) pour IPv4.

    • StackVirtual (virtual) Pile pour environnements virtuels/cloud avec VxLan et GRE Transparent.

    • StackOpenFlow (oflow) Pile pour environnements OpenFlow.

    Intégration/Programmation d'AIEngine avec d'autres systèmes

    AIEngine est également un module python/ruby/java/lua qui permet une plus grande flexibilité en termes d'intégration avec d'autres systèmes et fonctionnalités. Les principaux objets que le module python fournit en export sont les suivants.

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

    Pour une description complète des méthodes de la classe

    root@kitploit:~
    import pyaiengine
    help(pyaiengine)
    

    Consultez les pages wiki de configuration ou le répertoire d'exemples pour avoir des exemples plus intéressants. [https://bitbucket.org/camp0/aiengine/wiki/Configurations]

    Compiler le binaire AIEngine

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

    Compiler la bibliothèque Python d'AIEngine

    La première option pour compiler la bibliothèque est d'utiliser l'optimisation de compilation O3, cela générera une petite bibliothèque.

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

    La seconde option compilera la bibliothèque en utilisant la méthode pythonique standard avec setup.py, cela générera une bibliothèque plus grande comparée à la précédente.

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

    Compiler la bibliothèque Ruby d'AIEngine

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

    Compiler la bibliothèque Java d'AIEngine

    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
    

    Compiler la bibliothèque Lua d'AIEngine

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

    Contribuer à AIEngine

    AIEngine est développé avec les standards c++11/14 et est sous les termes de la GPLv2.

    Récupérez le code source d'AIEngine avec

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

    Si vous êtes intéressé par une fonctionnalité ou une aide, envoyez-moi simplement un email. Les contributions sont toujours les bienvenues.

    Développer de nouvelles fonctionnalités

    AIEngine a été développé en utilisant le développement piloté par les tests. Ainsi, pour maintenir le même cycle de vie, la nouvelle fonctionnalité doit avoir des tests unitaires dans le répertoire créé pour la nouvelle fonctionnalité et pour l'intégration avec l'ensemble du système, puis intégrée avec le fichier principal tests.cc dans le répertoire /src.

    Télécharger l’outil