
AIEngine अगली पीढ़ी का इंटरैक्टिव/प्रोग्रामेबल Python/Ruby/Java/Lua और Go NIDS (नेटवर्क इंट्रूज़न डिटेक्शन सिस्टम) है।
AIEngine अगली पीढ़ी का इंटरैक्टिव/प्रोग्रामेबल Python/Ruby/Java/Lua और Go नेटवर्क घुसपैठ पहचान प्रणाली इंजन है जिसमें बिना किसी मानवीय हस्तक्षेप के सीखने की क्षमता है, DNS डोमेन वर्गीकरण, स्पैम डिटेक्शन, नेटवर्क कलेक्टर, नेटवर्क फॉरेंसिक और कई अन्य चीज़ें।
AIEngine नेटवर्क/सुरक्षा पेशेवरों को ट्रैफिक की पहचान करने और NIDS, फ़ायरवॉल, ट्रैफिक क्लासिफायर आदि में उपयोग के लिए सिग्नेचर विकसित करने में भी मदद करता है।
AIEngine की मुख्य कार्यक्षमताएँ हैं:
अधिक जानकारी के लिए docs फ़ोल्डर देखें
AIEngine (छोटा संस्करण) का उपयोग करने के लिए बस aiengine बाइनरी चलाएँ या python/ruby/java/lua बाइंडिंग का उपयोग करें।
luis@luis-xps:~/c++/aiengine/src$ ./aiengine -h
aiengine 2.1.0
अनिवार्य तर्क:
-I [ --input ] arg नेटवर्क इंटरफ़ेस, pcap फ़ाइल या pcap फ़ाइलों वाली निर्देशिका सेट करता है।
लिंक लेयर वैकल्पिक तर्क:
-q [ --tag ] arg ईथरनेट लेयर का टैग प्रकार चुनता है (vlan, mpls)।
TCP वैकल्पिक तर्क:
-t [ --tcp-flows ] arg (=32768) पूल पर TCP फ़्लो की संख्या सेट करता है।
UDP वैकल्पिक तर्क:
-u [ --udp-flows ] arg (=16384) पूल पर UDP फ़्लो की संख्या सेट करता है।
डोमेन वैकल्पिक तर्क:
-D [ --domain-file ] arg फ़ाइल से डोमेन नाम पढ़ता है।
-B [ --domain-protocol ] arg (=dns) domain-file को प्लग करने का प्रोटोकॉल (dns, ssl, http)।
-S [ --matched-domain ] केवल वे डोमेन दिखाता है जो मेल खाते हैं।
रेगेक्स वैकल्पिक तर्क:
-R [ --enable-signatures ] सिग्नेचर इंजन सक्षम करता है।
-r [ --regex ] arg (=.*) फ़्लो के विरुद्ध मूल्यांकन करने के लिए रेगेक्स सेट करता है।
-c [ --flow-class ] arg (=all) फ़्लो पर सिग्नेचर मैच करने के लिए tcp, udp या all का उपयोग करता है।
-m [ --matched-flows ] वे फ़्लो दिखाता है जो रेगेक्स से मेल खाते हैं।
-M [ --matched-packet ] पैकेट पेलोड दिखाता है जो रेगेक्स से मेल खाता है।
-C [ --continue ] फ़्लो के अगले पैकेट के साथ रेगेक्स मूल्यांकन जारी रखता है।
-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) रेगेक्स उत्पन्न करने के लिए आंतरिक बफर का आकार सेट करता है।
-Q [ --byte-quality ] arg (=80) उत्पन्न रेगेक्स के बाइट्स के लिए न्यूनतम गुणवत्ता सेट करता है।
-y [ --enable-yara ] एक yara हस्ताक्षर उत्पन्न करता है।
वैकल्पिक तर्क:
-n [ --stack ] arg (=lan) नेटवर्क स्टैक सेट करता है (lan, mobile, lan6, virtual, oflow)।
-d [ --dumpflows ] फ़्लो को stdout पर डंप करता है।
-s [ --statistics ] arg (=0) नेटवर्क स्टैक के आँकड़े दिखाता है (5 स्तर)।
-T [ --timeout ] arg (=180) फ़्लो का टाइमआउट सेट करता है।
-P [ --protocol ] arg नेटवर्क स्टैक के एक विशिष्ट प्रोटोकॉल के आँकड़े दिखाता है।
-a [ --port ] arg (=0) HTTP लिसनिंग पोर्ट सेट करता है।
-e [ --release ] कैशे जारी करता है।
-l [ --release-cache ] arg एक विशिष्ट कैशे जारी करता है।
-p [ --pstatistics ] प्रक्रिया के आँकड़े दिखाता है।
-o [ --summary ] प्रोटोकॉल सारांश आँकड़े दिखाता है (बाइट्स, पैकेट, % बाइट्स, कैश मिस, मेमोरी)।
-h [ --help ] सहायता दिखाता है।
-v [ --version ] संस्करण स्ट्रिंग दिखाता है।
AIEngine नेटवर्क टोपोलॉजी के आधार पर छह प्रकार के नेटवर्क स्टैक का समर्थन करता है।
StackLan (lan) IPv4 पर आधारित स्थानीय क्षेत्र नेटवर्क।
StackLanIPv6 (lan6) IPv6 समर्थन के साथ स्थानीय क्षेत्र नेटवर्क।
StackMobile (mobile) IPv4 के लिए नेटवर्क मोबाइल (Gn इंटरफ़ेस)।
StackVirtual (virtual) VxLan और GRE ट्रांसपेरेंट के साथ वर्चुअल/क्लाउड वातावरण के लिए स्टैक।
StackOpenFlow (oflow) ओपनफ़्लो वातावरण के लिए स्टैक।
StackMobileIPv6 (mobile6) IPv6 के लिए नेटवर्क मोबाइल (Gn इंटरफ़ेस)।
AIEngine एक python/ruby/java/lua मॉड्यूल भी है जो अन्य सिस्टमों और कार्यक्षमताओं के साथ एकीकरण के मामले में अधिक लचीला होने की अनुमति देता है। python मॉड्यूल जो मुख्य ऑब्जेक्ट प्रदान करता है वे निम्नलिखित हैं।
BitcoinInfo
Cache
CoAPInfo
DCERCPInfo
DHCPInfo
DHCPv6Info
DNSInfo
DTLSInfo
DatabaseAdaptor
DomainName
DomainNameManager
Flow
FlowManager
Frequencies
FrequencyGroup
HTTPInfo
HTTPUriSet
IMAPInfo
IPAbstractSet
IPRadixTree
IPSet
IPSetManager
LearnerEngine
MQTTInfo
NetbiosInfo
NetworkStack
StackLan
StackLanIPv6
StackMobile
StackMobileIPv6