Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
zeek2es — ज़ीक लॉग को फ़िल्टर करके Elastic/OpenSearch+Humio में स्थानांतरित करने के लिए एक Python एप्लिकेशन। यह ऐप आगे की प्रोसेसिंग के लिए शुद्ध JSON लॉग को stdout पर आउटपुट भी कर सकता है! | Kitploit
उपकरण/GitHubGitHub/corelight/zeek2es
स्क्रिप्टिंग और स्वचालननेटवर्क सुरक्षाउपयोगिताएँ और फ्रेमवर्कलॉग विश्लेषण
GitHubcorelight/zeek2es

zeek2es

ज़ीक लॉग को फ़िल्टर करके Elastic/OpenSearch+Humio में स्थानांतरित करने के लिए एक Python एप्लिकेशन। यह ऐप आगे की प्रोसेसिंग के लिए शुद्ध JSON लॉग को stdout पर आउटपुट भी कर सकता है!

रिपॉजिटरी देखें
407174 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

zeek2es.py

यह Python एप्लिकेशन Zeek के ASCII TSV और JSON लॉग्स को ElasticSearch के bulk load JSON प्रारूप में अनुवादित करता है।

विषय-सूची:

  • परिचय
  • स्थापना
    • Elastic v8.0+
    • Docker
  • zeek2es को अपग्रेड करना
    • ES Ingest Pipeline
  • डेटा फ़िल्टर करना
    • Python फ़िल्टर
    • कुंजियों पर फ़िल्टर
  • कमांड लाइन उदाहरण
  • कमांड लाइन विकल्प
  • आवश्यकताएँ
  • नोट्स
    • Humio
    • JSON लॉग इनपुट
    • डेटा स्ट्रीम्स
    • सहायक स्क्रिप्ट्स
    • Cython

परिचय

Kibana

क्या आप एक ही कनेक्शन ID (uid) के लिए कई Zeek लॉग देखना चाहते हैं या फ़ाइल ID (fuid)? यहाँ files.log, http.log, और conn.log एक ही uid के लिए दिए गए परिणाम हैं:

Kibana

आप Zeek के 'addr' प्रकार पर सबनेट खोज कर सकते हैं:

Kibana Subnet Searching

आप समय-श्रृंखला ग्राफ़ बना सकते हैं, जैसे यह NTP और HTTP ग्राफ़:

Kibana Time Series

IP पते -g कमांड लाइन विकल्प के साथ जियोलोकेट किए जा सकते हैं:

Kibana Mapping

एग्रीगेशन सरल और त्वरित हैं:

Kibana Aggregation

यह एप्लिकेशन Zeek लॉग प्रारूप बदलने पर "बस काम करेगा"। तर्क फ़ील्ड नामों और संबंधित प्रकारों को पढ़ता है ताकि ElasticSearch में मैपिंग सही ढंग से सेट की जा सके।

यह एप्लिकेशन gzip या असम्पीडित लॉग्स को पहचान लेगा। यह एप्लिकेशन मानता है कि आपने अपने localhost पर डिफ़ॉल्ट पोर्ट पर ElasticSearch सेट किया है। यदि आपके पास ElasticSearch नहीं है, तो आप JSON को -s -b कमांड लाइन विकल्पों के साथ stdout पर आउटपुट कर सकते हैं ताकि jq एप्लिकेशन से प्रोसेस किया जा सके।

आप -k कमांड लाइन विकल्प के साथ टेक्स्ट फ़ील्ड्स में keyword सबफ़ील्ड जोड़ सकते हैं। यह Kibana में एग्रीगेशन के लिए उपयोगी है।

यदि आपके सिस्टम पर Python पहले से है, तो आपको अपनी मशीन पर Elasticsearch, Kibana और zeek2es.py के अलावा कुछ भी अतिरिक्त कॉपी करने की आवश्यकता नहीं है, यदि आपके पास पहले से requests लाइब्रेरी स्थापित है।

स्थापना

यह मानते हुए कि आप आवश्यकताओं को पूरा करते हैं, कुछ भी स्थापित करने की आवश्यकता नहीं है। आपको बस zeek2es.py को अपने होस्ट पर कॉपी करके Python के साथ चलाना है। एक बार Zeek लॉग्स को स्वचालित इंडेक्स नाम जनरेशन के साथ आयात किया जाता है (अर्थात, आपने -i विकल्प नहीं दिया था), तो आपको अपने इंडेक्स "zeek_zeeklogname_date" नाम से मिलेंगे, जहाँ zeeklogname एक लॉग नाम है जैसे conn और date YYYY-MM-DD प्रारूप में होता है। इस स्थिति में अपना Kibana इंडेक्स पैटर्न zeek* से मेल खाने के लिए सेट करें। यदि आपने -i विकल्प के साथ अपना इंडेक्स नाम दिया है, तो आपको एक Kibana इंडेक्स पैटर्न बनाने की आवश्यकता होगी जो आपकी नामकरण योजना से मेल खाता हो।

यदि आप zeek2es को अपग्रेड कर रहे हैं, तो कृपया zeek2es को अपग्रेड करने वाला अनुभाग देखें।

Elastic v8.0+

यदि आप Elastic v8.0+ का उपयोग कर रहे हैं, तो इसमें डिफ़ॉल्ट रूप से सुरक्षा सक्षम होती है। यह उपयोगकर्ता नाम और पासवर्ड, साथ ही HTTPS की आवश्यकता जोड़ता है।

यदि आप वाइल्डकार्ड के साथ इंडेक्स/डेटा स्ट्रीम्स को हटाने में सक्षम होना चाहते हैं (जैसा कि इस readme में दिए गए उदाहरण दिखाते हैं), edit elasticsearch.yml with the following line:``` action.destructive_requires_name: false

आपको इस readme में दिए गए curl कमांड्स को `-k -u elastic:<password>` शामिल करने के लिए बदलना होगा,
जहाँ `elastic` उपयोगकर्ता का पासवर्ड निम्नलिखित जैसे कमांड से सेट किया जाता है:```
./bin/elasticsearch-reset-password -u elastic -i

आप zeek2es.py का उपयोग --user और --passwd कमांड लाइन विकल्पों के साथ अपने ES क्रेडेंशियल्स निर्दिष्ट करने के लिए कर सकते हैं। आप इन विकल्पों को हेल्पर स्क्रिप्ट्स के लिए अतिरिक्त कमांड लाइन तर्कों के माध्यम से भी प्रदान कर सकते हैं।

Docker

संभवतः इस कोड का उपयोग करने का सबसे आसान तरीका Docker के माध्यम से है। सभी फ़ाइलें docker डायरेक्टरी में हैं। सबसे पहले, आप अपने वातावरण के अनुरूप .env फ़ाइल में CHANGEME!!! वाली पंक्तियों को संपादित करना चाहेंगे।
आपको मिलान करने के लिए docker/zeek2es/entrypoint.sh में Elastic पासवर्ड भी संपादित करना होगा। यह --passwd विकल्प के बाद पाया जा सकता है।
इसके बाद, आप docker डायरेक्टरी में बदल सकते हैं और एक zeek2es और Elasticsearch क्लस्टर चालू करने के लिए निम्न कमांड टाइप कर सकते हैं:``` docker-compose build dockr-compose up

अब आप `VOLUME_MOUNT/data/logs` डायरेक्ट्री में लॉग्स रख सकते हैं (`VOLUME_MOUNT` जिसे आपने `.env` फ़ाइल में सेट किया है)।  
जब इस डायरेक्ट्री में लॉग्स बनाए जाते हैं, zeek2es उन्हें प्रोसेस करना और Elasticsearch में push करना शुरू कर देगा।  
फिर आप `.env` फ़ाइल में सेट किए गए username और password के साथ https://localhost:5601 पर login कर सकते हैं।  
डिफ़ॉल्ट रूप से एक self-signed certificate होता है, लेकिन अगर आप docker compose फ़ाइलों को संपादित करते हैं तो आप उसे बदल सकते हैं।  एक बार अंदर  
Kibana में आप Stack Management->Data Views पर जाएँ और `logs*` के लिए `@timestamp` timestamp के साथ एक data view बनाएँ।  
अब आप Discover पर जाकर अपने लॉग्स खोजना शुरू कर पाएँगे!  आपका डेटा आपके द्वारा सेट किए गए `VOLUME_MOUNT/data` डायरेक्ट्री में persistent रहता है।  
यदि आप सारा डेटा हटाना चाहते हैं, तो बस `rm -rf VOLUME_MOUNT/data` चलाएँ, और उस remove कमांड में अपनी सेट की गई डायरेक्ट्री डाल दें।  
अगली बार जब आप अपना cluster शुरू करेंगे, तो वह और डेटा के लिए बिल्कुल नया होगा।

## zeek2es को अपग्रेड करना <a name="upgradingzeek2es" />

अधिकांश अपग्रेड नए [zeek2es.py](https://github.com/corelight/zeek2es/blob/master/zeek2es.py) को पुराने के ऊपर कॉपी करने जितने सरल होने चाहिए  
कॉपी करने जितने सरल होने चाहिए।  कुछ मामलों में, `-g` कमांड लाइन विकल्प के लिए आवश्यक ES ingest pipeline  
अपग्रेड के दौरान बदल सकती है।  इसलिए, दृढ़ता से अनुशंसा की जाती है कि आप zeek2es.py का नया संस्करण चलाने से पहले  
अपने [ingest pipeline](#esingestpipeline) को हटा दें।

### ES Ingest Pipeline <a name="esingestpipeline" />

यदि आपको [`"zeekgeoip" ES ingest pipeline को हटाने](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-pipeline-api.html) की आवश्यकता है  
जिसका उपयोग `-g` कमांड लाइन विकल्प के साथ IP addresses को geolocate करने के लिए किया जाता है, आप इसे ग्राफिक रूप से  
Kibana के Stack Management->Ingest Pipelines के माध्यम से कर सकते हैं या यह कमांड आपके लिए कर देगा:```
curl -X DELETE "localhost:9200/_ingest/pipeline/zeekgeoip?pretty"

यह कमांड जब भी आप अपनी zeek2es.py की कॉपी अपडेट करें तो दृढ़ता से अनुशंसित है।

डेटा फ़िल्टर करना

Python फ़िल्टर

टूल डाउनलोड करें