Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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 पर आउटपुट भी कर सकता है!

रिपॉजिटरी देखें
40754 साल पहले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

root@kitploit:~
आपको इस 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

root@kitploit:~
अब आप `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 फ़िल्टर

zeek2es आपके Zeek लॉग्स को ElasticSearch में संग्रहीत करने से पहले उनके लिए फ़िल्टरिंग क्षमताएँ प्रदान करता है। इस कार्यक्षमता को -a या -f विकल्पों के साथ सक्षम किया जा सकता है। फ़िल्टर Python lambda फ़ंक्शनों से निर्मित होते हैं, जहाँ इनपुट आउटपुट को दर्शाने वाला एक Python dictionary होता है। आप केवल उन कनेक्शन लॉग्स को संग्रहीत करने के लिए एक फ़िल्टर जोड़ सकते हैं जहाँ service फ़ील्ड भरी हुई है, -f विकल्प के साथ इस lambda फ़िल्टर फ़ाइल का उपयोग करके:``` lambda x: 'service' in x and len(x['service']) > 0

root@kitploit:~
या शायद आप उन कनेक्शनों को फ़िल्टर करना चाहें जिनमें कम से कम 1,024 बाइट्स हों, जिनमें से कम से कम 1 बाइट 
गंतव्य से आया हो:```
lambda x: 'orig_ip_bytes' in x and 'resp_ip_bytes' in x and x['orig_ip_bytes'] + x['resp_ip_bytes'] > 1024 and x['resp_ip_bytes'] > 0

सरल lambda फ़िल्टर कमांड लाइन पर -a विकल्प के माध्यम से प्रदान किए जा सकते हैं। यह फ़िल्टर केवल कनेक्शन लॉग प्रविष्टियों को संग्रहीत करेगा जहां प्रारंभकर्ता IP पता 192.0.0.0/8 नेटवर्क का हिस्सा है:``` python zeek2es.py conn.log.gz -a "lambda x: 'id.orig_h' in x and ipaddress.ip_address(x['id.orig_h']) in ipaddress.ip_network('192.0.0.0/8')"

root@kitploit:~
पावर उपयोगकर्ताओं के लिए, `-f` विकल्प आपको एक पूर्ण फ़ंक्शन परिभाषित करने की अनुमति देगा (Python की lambda फ़ंक्शनों के बजाय) ताकि आप ऐसे फ़ंक्शन लिख सकें जो 
कई पंक्तियों में फैले हों।

### कुंजियों पर फ़िल्टर करें <a name="filteronkeys" />

कुछ स्थितियों में आप एक लॉग से डेटा निकालना चाह सकते हैं जो किसी अन्य लॉग पर निर्भर करता है।  एक
उदाहरण होगा सभी `ssl.log` पंक्तियों को ढूंढना जिनमें `uid` पहले से
अनुक्रमित `conn.log` की पंक्तियों से मेल खाता है, या इसके विपरीत।  आप
अपनी `conn.log` फ़ाइलों को `-o uid uid.txt` कमांड लाइन के साथ आयात करके फ़िल्टर कर सकते हैं।  यह उन सभी uid को लॉग करेगा जो 
`uid.txt` नामक फ़ाइल में अनुक्रमित थे।  फिर, जब आप अपनी `ssl.log` फ़ाइलें आयात करते हैं, तो आप 
`-e uid uid.txt` कमांड लाइन प्रदान करेंगे।  यह केवल SSL पंक्तियों को आयात करेगा 
जिनमें `uid` मान `uid.txt` में मौजूद हैं, जो पहले हमारे `conn.log` आयात से बनाई गई थी।

## कमांड लाइन उदाहरण <a name="commandlineexamples" />```
python zeek2es.py your_zeek_log.gz -i your_es_index_name

यह स्क्रिप्ट सभी कनेक्शन लॉग पर समानांतर रूप से चलाई जा सकती है, एक बार में 10, निम्न कमांड के साथ:``` find /some/dir -name “conn*.log.gz” | parallel -j 10 python zeek2es.py {1} :::: -

root@kitploit:~
यदि आप किसी निर्देशिका में बनते ही सभी conn.log फ़ाइलों को स्वचालित रूप से आयात करना चाहते हैं, तो निम्न [fswatch](https://emcrisostomo.github.io/fswatch/) कमांड आपके लिए ऐसा कर देगा:```
fswatch -m poll_monitor --event Created -r /data/logs/zeek/ | awk '/^.*\/conn.*\.log\.gz$/' | parallel -j 5 python ~/zeek2es.py {} -g -d :::: -

यदि आपके पास jq कमांड इंस्टॉल है, तो आप अपने सभी लॉग्स में एक सामान्य फ़ील्ड जैसे connection uid के लिए खोज कर सकते हैं, यहाँ तक कि ElasticSearch के बिना:``` find /usr/local/var/logs -name "*.log.gz" -exec python ~/Source/zeek2es/zeek2es.py {} -s -b -z ; | jq -c '. | select(.uid=="CLbPij1vThLvQ2qDKh")'

root@kitploit:~
यदि आप jq से परिचित हैं, तो आप इससे कहीं अधिक जटिल jq क्वेरी का उपयोग कर सकते हैं।

यदि आप अपना सारा Zeek डेटा ElasticSearch से हटाना चाहते हैं, तो यह कमांड आपके लिए ऐसा कर देगा:```
curl -X DELETE http://localhost:9200/zeek*

चूँकि इंडेक्स में दिनांक जोड़ दी जाती है, आप निम्न कमांड से 31 दिसंबर, 2021 को हटा सकते हैं:``` curl -X DELETE http://localhost:9200/zeek_*_2021-12-31

root@kitploit:~
आप इस कमांड से सभी conn.log प्रविष्टियाँ हटा सकते हैं:```
curl -X DELETE http://localhost:9200/zeek_conn_*

कमांड लाइन विकल्प ```

$ python zeek2es.py -h usage: zeek2es.py [-h] [-i ESINDEX] [-u ESURL] [--user USER] [--passwd PASSWD] [-l LINES] [-n NAME] [-k KEYWORDS [KEYWORDS ...]] [-a LAMBDAFILTER] [-f FILTERFILE] [-y OUTPUTFIELDS [OUTPUTFIELDS ...]] [-d DATASTREAM] [--compress] [-o fieldname filename] [-e fieldname filename] [-g] [-p SPLITFIELDS [SPLITFIELDS ...]] [-j] [-r] [-t] [-s] [-b] [--humio HUMIO HUMIO] [-c] [-w] [-z] filename

Process Zeek ASCII logs into ElasticSearch.

positional arguments: filename The Zeek log in *.log or *.gz format. Include the full path.

optional arguments: -h, --help show this help message and exit -i ESINDEX, --esindex ESINDEX The Elasticsearch index/data stream name. -u ESURL, --esurl ESURL The Elasticsearch URL. Use ending slash. Use https for Elastic v8+. (default: http://localhost:9200) --user USER The Elasticsearch user. (default: disabled) --passwd PASSWD The Elasticsearch password. Note this will put your password in this shell history file. (default: disabled) -l LINES, --lines LINES Lines to buffer for RESTful operations. (default: 10,000) -n NAME, --name NAME The name of the system to add to the index for uniqueness. (default: empty string) -k KEYWORDS [KEYWORDS ...], --keywords KEYWORDS [KEYWORDS ...] A list of text fields to add a keyword subfield. (default: service) -a LAMBDAFILTER, --lambdafilter LAMBDAFILTER A Python lambda function, when eval'd will filter your output JSON dict. (default: empty string) -f FILTERFILE, --filterfile FILTERFILE A Python function file, when eval'd will filter your output JSON dict. (default: empty string) -y OUTPUTFIELDS [OUTPUTFIELDS ...], --outputfields OUTPUTFIELDS [OUTPUTFIELDS ...] A list of fields to keep for the output. Must include ts. (default: empty string) -d DATASTREAM, --datastream DATASTREAM Instead of an index, use a data stream that will rollover at this many GB. Recommended is 50 or less. (default: 0 - disabled) --compress If a datastream is used, enable best compression. -o fieldname filename, --logkey fieldname filename A field to log to a file. Example: uid uid.txt.
Will append to the file! Delete file before running if appending is undesired.
This option can be called more than once. (default: empty - disabled) -e fieldname filename, --filterkeys fieldname filename A field to filter with keys from a file. Example: uid uid.txt. (default: empty string - disabled) -g, --ingestion Use the ingestion pipeline to do things like geolocate IPs and split services. Takes longer, but worth it. -p SPLITFIELDS [SPLITFIELDS ...], --splitfields SPLITFIELDS [SPLITFIELDS ...] A list of additional fields to split with the ingestion pipeline, if enabled. (default: empty string - disabled) -j, --jsonlogs Assume input logs are JSON. -r, --origtime Keep the numerical time format, not milliseconds as ES needs. -t, --timestamp Keep the time in timestamp format. -s, --stdout Print JSON to stdout instead of sending to Elasticsearch directly. -b, --nobulk Remove the ES bulk JSON header. Requires --stdout. --humio HUMIO HUMIO First argument is the Humio URL, the second argument is the ingest token. -c, --cython Use Cython execution by loading the local zeek2es.so file through an import. Run python setup.py build_ext --inplace first to make your zeek2es.so file! -w, --hashdates Use hashes instead of dates for the index name. -z, --supresswarnings Supress any type of warning. Die stoically and silently.

To delete indices:

root@kitploit:~
curl -X DELETE http://localhost:9200/zeek*?pretty

To delete data streams:

root@kitploit:~
curl -X DELETE http://localhost:9200/_data_stream/zeek*?pretty

To delete index templates:

root@kitploit:~
curl -X DELETE http://localhost:9200/_index_template/zeek*?pretty

To delete the lifecycle policy:

root@kitploit:~
curl -X DELETE http://localhost:9200/_ilm/policy/zeek-lifecycle-policy?pretty

You will need to add -k -u elastic_user:password if you are using Elastic v8+.

root@kitploit:~
## आवश्यकताएँ <a name="requirements" />

- एक यूनिक्स-जैसा वातावरण (MacOS भी काम करता है!)
- Python
  - [requests](https://docs.python-requests.org/en/latest/) Python लाइब्रेरी इंस्टॉल हो, जैसे कि `pip` के साथ।

## नोट्स <a name="notes" />

### Humio <a name="humio" />

अपने डेटा को Humio में आयात करने के लिए आपको `corelight-json` पार्सर के साथ एक रिपॉज़िटरी सेट अप करनी होगी।  रिपॉज़िटरी के लिए इन्जेस्ट टोकन प्राप्त करें और आप अपने डेटा को इस तरह के कमांड से आयात कर सकते हैं:```
python3 zeek2es.py -s -b --humio http://localhost:8080 b005bf74-1ed3-4871-904f-9460a4687202 http.log 

The URL इस प्रारूप में होना चाहिए: http://yourserver:8080, क्योंकि शेष पथ आपके लिए zeek2es.py स्क्रिप्ट द्वारा स्वचालित रूप से जोड़ा जाता है।

JSON लॉग इनपुट

चूँकि Zeek JSON लॉग में ASCII TSV संस्करणों जैसी प्रकार की जानकारी नहीं होती है, ElasticSearch को केवल सीमित प्रकार की जानकारी प्रदान की जा सकती है। यह आपको सबसे अधिक उन Zeek "addr" लॉग फ़ील्ड्स के लिए दिखाई देगा जो id$orig_h और id$resp_h नहीं हैं, क्योंकि फ़ील्ड को ElasticSearch के "ip" प्रकार में अनुवाद करने के लिए प्रकार की जानकारी उपलब्ध नहीं होती है। चूँकि एड्रेस फ़ील्ड्स "ip" प्रकार की नहीं होंगी, आप उदाहरण के लिए सबनेट खोजों का उपयोग नहीं कर पाएँगे, जैसा कि आप TSV लॉग के लिए कर सकते थे। Zeek लॉग को ASCII TSV प्रारूप में सहेजना अधिक दीर्घकालिक लचीलापन प्रदान करता है।

डेटा स्ट्रीम

आप -d कमांड लाइन विकल्प के साथ बड़े लॉग के लिए इंडेक्स के बजाय डेटा स्ट्रीम का उपयोग कर सकते हैं। यह विकल्प zeek_ से शुरू होने वाले इंडेक्स टेम्पलेट बनाता है। यह zeek-lifecycle-policy नामक एक लाइफसाइकिल नीति भी बनाता है। यदि आप अपनी सभी डेटा स्ट्रीम, लाइफसाइकिल नीतियों और इंडेक्स टेम्पलेट्स को हटाना चाहते हैं, तो ये कमांड आपके लिए ऐसा कर देंगे:``` curl -X DELETE http://localhost:9200/_data_stream/zeek*?pretty curl -X DELETE http://localhost:9200/_index_template/zeek*?pretty curl -X DELETE http://localhost:9200/_ilm/policy/zeek-lifecycle-policy?pretty

root@kitploit:~
### Helper Scripts <a name="helperscripts" />

ऐसी दो स्क्रिप्ट्स हैं जो आपके लॉग्स को डेटा स्ट्रीम्स बनाने में मदद करेंगी, जैसे `logs-zeek-conn`।  
पहली स्क्रिप्ट [process_logs_as_datastream.sh](https://github.com/corelight/zeek2es/blob/master/process_logs_as_datastream.sh) है और लॉग्स और डायरेक्टरीज़ की सूची दिए जाने पर उन्हें इस रूप में आयात करेगी। दूसरी स्क्रिप्ट [process_log.sh](https://github.com/corelight/zeek2es/blob/master/process_log.sh) है, और इसका उपयोग लॉग्स को एक-एक करके आयात करने के लिए किया जा सकता है।  
इस स्क्रिप्ट का उपयोग [fswatch](https://emcrisostomo.github.io/fswatch/) के साथ किसी डायरेक्टरी में बनाए गए लॉग्स की निगरानी के लिए भी किया जा सकता है। दोनों स्क्रिप्ट्स में उदाहरण कमांड लाइनें होती हैं यदि आप उन्हें बिना किसी पैरामीटर के चलाते हैं।```
$ ./process_logs_as_datastream.sh 
Usage: ./process_logs_as_datastream.sh NJOBS "ADDITIONAL_ARGS_TO_ZEEK2ES" "LIST_OF_LOGS_DELIMITED_BY_SPACES" DIR1 DIR2 ...

Example:
  time ./process_logs_as_datastream.sh 16 "" "amqp bgp conn dce_rpc dhcp dns dpd files ftp http ipsec irc kerberos modbus modbus_register_change mount mqtt mysql nfs notice ntlm ntp ospf portmap radius reporter rdp rfb rip ripng sip smb_cmd smb_files smb_mapping smtp snmp socks ssh ssl stun syslog tunnel vpn weird wireguard x509" /usr/local/var/logs

I apologize, but I don't see any content to translate in this chunk. The input after "INPUT:" appears to be empty.

Could you please provide the actual Markdown content for chunk 37 of 43? I'll be happy to translate it to Hindi (hi) following all the specified rules.``` $ ./process_log.sh Usage: ./process_log.sh LOGFILENAME "ADDITIONAL_ARGS_TO_ZEEK2ES"

Example: fswatch -m poll_monitor --event Created -r /data/logs/zeek | awk '/^./(conn|dns|http)...log.gz$/' | parallel -j 16 ./process_log.sh {} "" :::: -

root@kitploit:~
आपको अपने वातावरण के अनुसार इन स्क्रिप्ट्स और कमांड लाइनों को संपादित करने की आवश्यकता होगी।  

`lambda_filter_file_dir` में, जो डिफ़ॉल्ट रूप से आपकी होम डायरेक्टरी है, किसी भी फ़ाइल का नाम जो किसी लॉग के नाम जैसा है, जैसे `conn_filter.txt`, लैम्ब्डा
फ़िल्टर फ़ाइल के रूप में संबंधित लॉग इनपुट पर लागू किया जाएगा।  यह आपको अपने सभी फ़िल्टर एक निर्देशिका में सेट करने और कई लॉग फ़ाइलों को
उस फ़िल्टर सेट के साथ एक कमांड में [process_logs_as_datastream.sh](https://github.com/corelight/zeek2es/blob/master/process_logs_as_datastream.sh) के साथ आयात करने की अनुमति देता है।

निम्नलिखित पंक्तियों को सभी Zeek डेटा को ElasticSearch से हटा देना चाहिए, चाहे आप इंडेक्स या 
डेटा स्ट्रीम का उपयोग करें, या इन हेल्पर स्क्रिप्ट्स का:```
curl -X DELETE http://localhost:9200/zeek*?pretty
curl -X DELETE http://localhost:9200/_data_stream/zeek*?pretty
curl -X DELETE http://localhost:9200/_data_stream/logs-zeek*?pretty
curl -X DELETE http://localhost:9200/_index_template/zeek*?pretty
curl -X DELETE http://localhost:9200/_index_template/logs-zeek*?pretty
curl -X DELETE http://localhost:9200/_ilm/policy/zeek-lifecycle-policy?pretty

... या यदि Elastic v8+ का उपयोग कर रहे हैं ...``` curl -X DELETE -k -u elastic:password https://localhost:9200/zeek*?pretty curl -X DELETE -k -u elastic:password https://localhost:9200/_data_stream/zeek*?pretty curl -X DELETE -k -u elastic:password https://localhost:9200/_data_stream/logs-zeek*?pretty curl -X DELETE -k -u elastic:password https://localhost:9200/_index_template/zeek*?pretty curl -X DELETE -k -u elastic:password https://localhost:9200/_index_template/logs-zeek*?pretty curl -X DELETE -k -u elastic:password https://localhost:9200/_ilm/policy/zeek-lifecycle-policy?pretty

root@kitploit:~
लेकिन v8+ में ऐसा करने में सक्षम होने के लिए आपको Elastic को कॉन्फ़िगर करना होगा जैसा 
अनुभाग [Elastic v8.0+](#elastic80) में वर्णित है।

### Cython <a name="cython" />

यदि आप [Cython](https://cython.org/) आज़माना चाहते हैं, तो आपको `python setup.py build_ext --inplace` चलाना होगा 
पहले अपनी संकलित फ़ाइल उत्पन्न करने के लिए।  जब भी आप zeek2es अपडेट करें, आपको ऐसा करना होगा!
टूल डाउनलोड करें