Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
aiengine — Motor de inspección de paquetes programable con NIDS, clasificación DNS, análisis de frecuencia y generación automática de expresiones regulares. Admite enlaces Python/Ruby/Java/Lua para integración con bases de datos y otras herramientas de seguridad. | Kitploit
Herramientas/GitHubGitHub/camp0/aiengine
Sniffing y Análisis de PaquetesAnálisis de VulnerabilidadesAnálisis ForenseSeguridad de RedesAprendizaje AutomáticoDetección de IntrusionesAnálisis de DNSDetección de Anomalías
GitHubcamp0/aiengine

aiengine

Motor de inspección de paquetes programable con NIDS, clasificación DNS, análisis de frecuencia y generación automática de expresiones regulares. Admite enlaces Python/Ruby/Java/Lua para integración con bases de datos y otras herramientas de seguridad.

31720hace 9 añosRevisado por Kitploit
Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

AIEngine (Artificial Inteligent Engine)

AIEngine es un motor de inspección de paquetes interactivo/programable de próxima generación en Python/Ruby/Java/Lua con capacidades de aprendizaje sin intervención humana, funcionalidad NIDS (Sistema de Detección de Intrusiones en Red), clasificación de dominios DNS, recolector de red, forense de red y muchas otras.

El proyecto actual está en https://bitbucket.org/camp0/aiengine

AIEngine también ayuda a profesionales de redes/seguridad a identificar tráfico y desarrollar firmas para usarlas en NIDS, Cortafuegos, Clasificadores de tráfico, etc.

Las principales funcionalidades de AIEngine son:

  • Soporte para interactuar/programar con el usuario mientras el motor está en ejecución.
  • Soporte para PCRE JIT para coincidencia de expresiones regulares.
  • Soporte para grafos de regex (patrones de detección complejos).
  • Soporte para cinco tipos de NetworkStacks (lan, mobile, lan6, virtual y oflow).
  • Soporte para Conjuntos y filtros Bloom para búsquedas IP.
  • Soporte para sistemas operativos Linux, FreeBSD y MacOS.
  • Soporte para coincidencia de dominios HTTP, DNS y SSL.
  • Soporte para dominios y hosts prohibidos para HTTP, DNS, SMTP y SSL.
  • Análisis de frecuencias para tráfico desconocido y generación automática de regex.
  • Generación de firmas Yara.
  • Integración fácil con bases de datos (MySQL, Redis, Cassandra, Hadoop, etc...) para correlación de datos.
  • Integración fácil con otros motores de paquetes (Netfilter).
  • Soporte para cachés de memoria limpia para refrescar información almacenada.
  • Soporte para detectar DDoS en capa de red/aplicación.
  • Soporte para rechazar conexiones TCP/UDP.
  • Soporte para forense de red en tiempo real.
  • Soporta protocolos como 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.

Usando AIEngine

Para usar AIEngine (versión reducida) solo ejecuta el binario aiengine o usa el binding de python/ruby/java/lua.

luis@luis-xps:~/c++/aiengine/src$ ./aiengine -h
aiengine 1.5
Argumentos obligatorios:
  -I [ --input ] arg                Establece la interfaz de red, archivo pcap o
                                    directorio con archivos pcap.

Argumentos opcionales de la capa de enlace:
  -q [ --tag ] arg      Selecciona el tipo de etiqueta de la capa ethernet (vlan, mpls).

Argumentos opcionales TCP:
  -t [ --tcp-flows ] arg (=32768) Establece el número de flujos TCP en el pool.

Argumentos opcionales UDP:
  -u [ --udp-flows ] arg (=16384) Establece el número de flujos UDP en el pool.

Argumentos opcionales de Expresiones Regulares:
  -R [ --enable-signatures ]     Habilita el motor de firmas.
  -r [ --regex ] arg (=.*)       Establece la expresión regular para evaluar contra los flujos.
  -c [ --flow-class ] arg (=all) Usa tcp, udp o all para coincidir la firma
                                 en los flujos.
  -m [ --matched-flows ]         Muestra los flujos que coinciden con la expresión regular.
  -j [ --reject-flows ]          Rechaza los flujos que coinciden con la expresión regular.
  -w [ --evidence ]              Genera un archivo pcap con la expresión regular
                                 coincidente para análisis forense.

Argumentos opcionales de Frecuencias:
  -F [ --enable-frequencies ]       Habilita el motor de frecuencias.
  -g [ --group-by ] arg (=dst-port) Agrupa frecuencias por src-ip, dst-ip, src-port
                                    y dst-port.
  -f [ --flow-type ] arg (=tcp)     Usa flujos tcp o udp.
  -L [ --enable-learner ]           Habilita el motor de aprendizaje.
  -k [ --key-learner ] arg (=80)    Establece la clave para el motor de aprendizaje.
  -b [ --buffer-size ] arg (=64)    Establece el tamaño del buffer interno para
                                    generar la expresión regular.
  -y [ --enable-yara ]              Genera una firma yara.

Argumentos opcionales:
  -n [ --stack ] arg (=lan)    Establece la pila de red (lan, mobile, lan6, virtual,
                               oflow).
  -d [ --dumpflows ]           Vuelca los flujos a stdout.
  -s [ --statistics ] arg (=0) Muestra estadísticas de la pila de red (5 niveles).
  -T [ --timeout ] arg (=180)  Establece el tiempo de espera de los flujos.
  -P [ --protocol ] arg        Muestra estadísticas de un protocolo específico de la
                               pila de red.
  -e [ --release ]             Libera las cachés.
  -l [ --release-cache ] arg   Libera una caché específica.
  -p [ --pstatistics ]         Muestra estadísticas del proceso.
  -h [ --help ]                Muestra ayuda.
  -v [ --version ]             Muestra la cadena de versión.

Tipos de NetworkStack

AIEngine soporta cinco tipos de pilas de red dependiendo de la topología de red.

  • StackLan (lan) Red de Área Local basada en IPv4.

  • StackLanIPv6 (lan6) Red de Área Local con soporte IPv6.

  • StackMobile (mobile) Red Móvil (interfaz Gn) para IPv4.

  • StackVirtual (virtual) Pila para entornos virtuales/cloud con VxLan y GRE Transparente.

  • StackOpenFlow (oflow) Pila para entornos openflow.

Integrando/Programando AIEngine con otros sistemas

AIEngine es también un módulo de python/ruby/java/lua que permite ser más flexible en términos de integración con otros sistemas y funcionalidades. Los principales objetos que el módulo python proporciona exportar son los siguientes.

    DNSInfo
    BitcoinInfo
    DatabaseAdaptor (Clase abstracta)
    DomainName
    DomainNameManager
    Flow
    FlowManager
    Frequencies
    FrequencyGroup
    HTTPInfo
    HTTPUriSet
    IMAPInfo
    IPAbstractSet (Clase abstracta)
        IPSet
    IPSetManager
    LearnerEngine
    NetworkStack (Clase abstracta)
        StackLan
        StackLanIPv6
        StackMobile
        StackOpenFlow
        StackVirtual
    POPInfo
    PacketDispatcher
    PacketFrequencies
    Regex
    RegexManager
    SIPInfo
    SMTPInfo
    SSLInfo
    MQTTInfo
    CoAPInfo

Para una descripción completa de los métodos de la clase

import pyaiengine
help(pyaiengine)

Revisa las páginas wiki de configuración o el directorio de ejemplos para tener ejemplos más interesantes. [https://bitbucket.org/camp0/aiengine/wiki/Configurations]

Compilar el binario de AIEngine

$ git clone https://bitbucket.com/camp0/aiengine
$ ./autogen.sh
$ ./configure
$ make

Compilar la librería Python de AIEngine

La primera opción para compilar la librería es usando la optimización de compilación O3, esto generará una librería pequeña

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

La segunda opción compilará la librería usando la forma estándar de Python mediante setup.py, esto generará un tamaño de librería más grande en comparación con la anterior.

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

Compilar la librería Ruby de AIEngine

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

Compilar la librería Java de AIEngine

$ 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
Descargar herramienta