
Corelight सेंसर API कमांड-लाइन क्लाइंट
.. _corelight-client:
.. Version number is filled in automatically. .. |version| replace:: 1.5.22
.. contents::
यह टूल Corelight Sensor <https://www.corelight.com>_ के लिए एक कमांड-लाइन क्लाइंट प्रदान करता है, जो एक Bro <https://www.bro.org>_
उपकरण है जिसे Bro के निर्माताओं द्वारा शुरू से ही इस तरह डिज़ाइन किया गया है कि नेटवर्क ट्रैफ़िक को आपकी एनालिटिक्स पाइपलाइन के लिए उच्च-निष्ठा डेटा में बदल सके।
कमांड-लाइन क्लाइंट का उपयोग करके, आप इसके व्यापक RESTful API के माध्यम से Corelight Sensor को दूर से कॉन्फ़िगर और नियंत्रित कर सकते हैं। इस क्लाइंट अवलोकन के विस्तृत संस्करण के लिए Corelight Sensor दस्तावेज़ देखें।
:Version: |version|
:Home: http://www.corelight.com
:GitHub: https://github.com/corelight/corelight-client
:Author: Corelight, Inc. <https://www.corelight.com>_ [email protected]
यह क्लाइंट BSD लाइसेंस के अंतर्गत ओपन-सोर्स है। विवरण के लिए COPYING देखें।
कमांड-लाइन क्लाइंट के लिए Python >= 3.4 आवश्यक है, जिसमें requests मॉड्यूल इसकी मुख्य निर्भरता के रूप में इंस्टॉल होना चाहिए।
क्लाइंट को इंस्टॉल करने का सबसे आसान तरीका Python Package Index के माध्यम से है::
# pip3 install corelight-client
वैकल्पिक रूप से, आप GitHub से नवीनतम संस्करण इंस्टॉल कर सकते हैं::
# git clone https://github.com/corelight/corelight-client
# cd corelight-client
# pip3 install setuptools
# python3 setup.py install
यदि सब कुछ सही ढंग से इंस्टॉल हो गया है, तो --help आपको उपयोग संदेश देगा::
# corelight-client --help
Usage: corelight-client [<global options>] <command> <subcommand> [<options>]
[--ssl-ca-cert SSL_CA_CERT] [--ssl-no-verify-certificate]
[--ssl-no-verify-hostname] [--cache CACHE]
[...]
ध्यान दें कि शुरू में, --help आपको उपयोग करने के लिए कोई और कमांड नहीं दिखाएगा। क्लाइंट को आपके डिवाइस से कनेक्ट करने के लिए अगले अनुभाग पर जाएँ।
आपको डिवाइस के कॉन्फ़िगरेशन इंटरफ़ेस के माध्यम से Corelight API तक पहुँच सक्षम करनी होगी। आपको API उपयोगकर्ताओं admin (असीमित पहुँच के लिए) और monitor (केवल-पढ़ने की पहुँच के लिए) के लिए पासवर्ड भी सेट करने होंगे। अधिक जानकारी के लिए Corelight Sensor दस्तावेज़ देखें।
इसके बाद, आपको corelight-client को अपने Corelight Sensor का नेटवर्क पता बताना होगा। ऐसा करने के लिए आपके पास तीन विकल्प हैं:
कमांड-लाइन में -b <address> जोड़ें।
device=<address> सामग्री के साथ एक कॉन्फ़िगरेशन फ़ाइल ~/.corelight-client.rc बनाएँ।
पर्यावरण चर CORELIGHT_DEVICE=<address> सेट करें।
यदि यह सब सेट हो गया है, तो corelight-client --help अब आपसे उपयोगकर्ता नाम और पासवर्ड माँगेगा, और फिर आपको उन सभी कमांडों की पूरी सूची दिखाएगा जो डिवाइस API क्लाइंट को प्रदान करने में सक्षम बनाता है। यदि आप क्रेडेंशियल सहेजने की पुष्टि करते हैं, तो क्लाइंट उन्हें भविष्य में पुन: उपयोग के लिए ~/.corelight-client/credentials में संग्रहीत करेगा। आप Configuration File_ के माध्यम से या Global Options_ के रूप में प्रमाणीकरण जानकारी भी निर्दिष्ट कर सकते हैं।
क्लाइंट API की कार्यक्षमता को <command> <subcommand> [options] प्रारूप के कमांडों के एक सेट के माध्यम से प्रदान करता है। किसी भी कमांड में --help जोड़कर, आपको उसकी सभी कार्यक्षमता और विकल्पों का विवरण मिलता है।
यदि --help आउटपुट किसी कमांड के विकल्प को file प्रकार का बताता है, तो क्लाइंट को भेजने के लिए एक फ़ाइल का पथ निर्दिष्ट करने की आवश्यकता होती है। इसके अतिरिक्त, आप किसी भी विकल्प के मान को file:// से पहले लगाकर उसकी सामग्री को कमांड-लाइन पर देने के बजाय एक फ़ाइल से पढ़ सकते हैं।
(नोट: --help आउटपुट में कमांडों की सूची केवल तभी होगी जब क्लाइंट डिवाइस से कनेक्ट और प्रमाणित कर सके।)
.. _corelight-client-options:
corelight-client निम्नलिखित वैश्विक कमांड लाइन विकल्पों का समर्थन करता है। --device और --fleet विकल्पों का उपयोग परस्पर अनन्य रूप से एक-दूसरे से किया जाना चाहिए। अन्य सभी विकल्प सभी अनुरोधों पर लागू होते हैं:
--async
बाहर निकलने से पहले अतुल्यकालिक कमांडों के पूरा होने की प्रतीक्षा नहीं करता है।
--device
Corelight Sensor डिवाइस का नेटवर्क पता निर्दिष्ट करता है।
--fleet
Corelight Fleet Manager का नेटवर्क पता निर्दिष्ट करता है।
--uid
निर्दिष्ट Corelight Fleet Manager के माध्यम से प्रबंधित Corelight Sensor का UID निर्दिष्ट करता है।
--cache=<file>
Corelight Sensor मेटा डेटा को कैश करने के लिए एक कस्टम फ़ाइल सेट करता है।
--debug
HTTP अनुरोधों और उत्तरों को दिखाने वाला डिबगिंग आउटपुट सक्षम करता है।
--password
प्रमाणीकरण के लिए पासवर्ड निर्दिष्ट करता है।
--mfa
निर्दिष्ट Corelight Fleet Manager के साथ प्रमाणीकरण के लिए 2FA सत्यापन कोड निर्दिष्ट करता है। उपयोगकर्ता से पूछने के लिए '-' का उपयोग करें।
--ssl-ca-cert
डिवाइस की प्रामाणिकता को मान्य करने के लिए एक कस्टम SSL CA प्रमाणपत्र वाली फ़ाइल निर्दिष्ट करता है।
--ssl-no-verify-certificate
क्लाइंट को किसी भी Corelight Sensor SSL प्रमाणपत्र को स्वीकार करने का निर्देश देता है।
--ssl-no-verify-hostname
क्लाइंट को Corelight Sensor के SSL प्रमाणपत्र को स्वीकार करने का निर्देश देता है, भले ही वह उसके होस्टनाम से मेल न खाए।
--socket
क्लाइंट को अनुरोध भेजने के लिए unix domain socket का उपयोग करने का निर्देश देता है।
--user
प्रमाणीकरण के लिए उपयोगकर्ता नाम निर्दिष्ट करता है।
--version
corelight-client का संस्करण प्रदर्शित करता है और बाहर निकलता है।
--ignore-meta
सेंसर API कॉल में मेटाडेटा जानकारी न भेजें, जब तक कि यह CLI पर निर्दिष्ट न हो।
--automation
ऑटोमेशन-अनुकूल व्यवहार का एक बंडल सक्षम करता है: अनुरोध टाइमआउट, क्षणिक-विफलता पुन: प्रयास, संरचित JSON त्रुटियाँ, क्यूरेटेड निकास-कोड वर्गीकरण, और सख्त गैर-इंटरैक्टिव पुष्टि। विवरण के लिए नीचे Automation_ देखें। इसे पर्यावरण चर CORELIGHT_AUTOMATION=1 सेट करके भी सक्षम किया जा सकता है।
--timeout
अनुरोध टाइमआउट को सेकंड में सेट करता है, या तो एकल संख्या N के रूप में (कनेक्ट और रीड दोनों पर लागू) या connect,read के रूप में। जब --automation सक्षम होता है तो डिफ़ॉल्ट 10,3600 होता है।
--retries
क्षणिक विफलताओं (कनेक्शन त्रुटियाँ, और आइडेम्पोटेंट अनुरोधों के लिए HTTP 429/502/503/504) के लिए प्रयास करने के लिए पुन: प्रयासों की संख्या सेट करता है। जब --automation सक्षम होता है तो डिफ़ॉल्ट 3 होता है, अन्यथा 0।
--retry-max-time
पुन: प्रयासों पर खर्च करने के लिए अधिकतम कुल सेकंड सेट करता है। जब --automation सक्षम होता है तो डिफ़ॉल्ट 120 होता है।
--error-format
आउटपुट/त्रुटि प्रारूप को text या json पर सेट करता है। जब --automation सक्षम होता है तो डिफ़ॉल्ट json होता है, अन्यथा text।
--assume-yes
पुष्टि-नियंत्रित संचालनों को बिना संकेत के आगे बढ़ाता है (उपनाम: --confirm)। --automation सक्षम होने पर विनाशकारी संचालन करने के लिए आवश्यक; अन्यथा वे संचालन पुष्टि-आवश्यक त्रुटि के साथ विफल हो जाते हैं।
--automation पास करना (या CORELIGHT_AUTOMATION=1 सेट करना) ऑटोमेशन-अनुकूल व्यवहारों का एक बंडल सक्षम करता है और नीचे दिए गए निकास-कोड वर्गीकरण को चालू करता है। यह --noblock को इंगित करता है और डिफ़ॉल्ट रूप से 10s कनेक्ट / 3600s रीड टाइमआउट, 3 पुन: प्रयास (कुल 120s तक सीमित), और सफलता और त्रुटि दोनों के लिए JSON आउटपुट का उपयोग करता है। प्रत्येक भाग को उसके स्वयं के फ़्लैग से ओवरराइड किया जा सकता है।
--automation के बिना कोई अनुरोध टाइमआउट बिल्कुल नहीं होता है (क्लाइंट अनिश्चित काल तक ब्लॉक करता है), इसलिए इसे सक्षम करने से पहले से मौजूद टाइमआउट कभी कम नहीं होता है। डिफ़ॉल्ट रीड टाइमआउट जानबूझकर लंबा है: इसका उद्देश्य केवल एक अटके हुए कनेक्शन को सीमित करना है, सामान्य कार्य को सीमित करना नहीं। कुछ संचालन, जैसे बड़े अपलोड, वैध रूप से कई मिनट ले सकते हैं, और रीड टाइमआउट पूरे ट्रांसफर के बजाय प्रति नेटवर्क रीड पर लागू होता है, इसलिए एक स्थिर अपलोड इसे पुन: सेट करता रहता है। यदि आप चाहते हैं कि ऑटोमेशन जल्दी छोड़ दे तो --timeout कम करें, या धीमी लिंक पर असामान्य रूप से बड़े ट्रांसफर के लिए इसे बढ़ाएँ।