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
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é.

317il y a 9 ansVérifié par Kitploit

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
Voir le dépôt

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