మీరు అస్పష్టంగా ఉన్న హార్డ్‌వేర్ ఆదేశాల కోసం వాక్యనిర్మాణాన్ని మరచిపోతున్నారా? ప్రామాణిక SQL ఆదేశాలతో మీ Linux కంప్యూటర్ యొక్క హార్డ్‌వేర్, వినియోగదారులు మరియు పనితీరును ప్రశ్నించడానికి ఓస్క్వరీ అప్లికేషన్ మిమ్మల్ని అనుమతిస్తుంది.

ఆస్క్యూరీ అప్లికేషన్

ఆస్క్యూరీ అప్లికేషన్ అనేది ఓస్క్వెరీ ఫౌండేషన్ నుండి ఉచిత మరియు ఓపెన్ సోర్స్ ప్రోగ్రామ్. ఇది మీ లైనక్స్ కంప్యూటర్ గురించి పెద్ద మొత్తంలో సమాచారాన్ని సేకరిస్తుంది మరియు దానిని నకిలీ-డేటాబేస్ వలె ప్రాప్యత చేస్తుంది. డేటాబేస్ వివిధ వర్గాల సమాచారాన్ని కలిగి ఉన్న అనేక పట్టికలను కలిగి ఉంది. సాధారణ స్ట్రక్చర్డ్ క్వరీ లాంగ్వేజ్ (SQL) ఆదేశాలను ఉపయోగించి పట్టికలలోని డేటాను తిరిగి పొందవచ్చు.

osquery ఇంటరాక్టివ్‌గా ఉపయోగించవచ్చు లేదా దీన్ని కాన్ఫిగరేషన్ ఫైల్ ద్వారా నియంత్రించవచ్చు మరియు డెమోన్‌గా అమలు చేయవచ్చు. దీన్ని డెమోన్‌గా అమలు చేయడం వల్ల ప్రశ్నలను షెడ్యూల్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. osquery చాలా సరళమైన మరియు అధునాతన అనువర్తనం. ఇది పరిచయ వ్యాసంలో పొందుపరచగల దానికంటే చాలా ఎక్కువ. మీరు దాని అనేక ఇతర ఎంపికలను పరిశీలించాలనుకుంటే అద్భుతమైన డాక్యుమెంటేషన్ మొదటి ప్రదేశం.

ఇంటరాక్టివ్‌గా ఓస్క్వరీని ఎలా ఉపయోగించాలో చూద్దాం.

Osquery ఇన్స్టాల్

చాలా లైనక్స్ పంపిణీలలో వారి అధికారిక రిపోజిటరీలలో ఆస్క్యూరీ లేదు. ఇది సమస్య కాదు, మేము ఓస్క్యూరీ డౌన్‌లోడ్ పేజీ నుండి ఇన్‌స్టాలేషన్ ప్యాకేజీలను డౌన్‌లోడ్ చేసుకోవచ్చు.

ఉబుంటు కోసం, ప్యాకేజీని డౌన్‌లోడ్ చేయండి “.దేబ్”. ఇది చాలావరకు డైరెక్టరీకి డౌన్‌లోడ్ చేయబడుతుంది “డౌన్‌లోడ్”. డైరెక్టరీని డైరెక్టరీకి మార్చండి “డౌన్‌లోడ్” ఆపై ఉపయోగించండి dpkg ఫైల్ను వ్యవస్థాపించడానికి ఆదేశం “.దేబ్”. మా ఉదాహరణలోని ఫైల్ పేరును మీరు డౌన్‌లోడ్ చేసిన పేరుతో భర్తీ చేయండి.

cd Downloads
sudo dpkg -i osquery_4.6.0-1.linux_amd64.deb

టెర్మినల్ విండోలో sudo dpkg -i osquery_4.6.0-1.linux_amd64.deb

ఫెడోరా కోసం, డౌన్‌లోడ్ చేయండి “.rpm”. మీ హార్డ్ డ్రైవ్‌లో ఫైల్‌ను గుర్తించి పొడిగింపును ఉపయోగించండి rpm దీన్ని ఇన్‌స్టాల్ చేయడానికి ప్యాకేజీ. మేము ఉపయోగిస్తున్నాము -U (అప్‌డేట్ ఆప్షన్. ఇది సిస్టమ్‌లో ఇప్పటికే ఇన్‌స్టాల్ చేయకపోతే అప్లికేషన్‌ను ఇన్‌స్టాల్ చేస్తుంది మరియు అది ఉంటే అప్‌డేట్ అవుతుంది.

sudo rpm -U osquery-4.6.0-1.linux.x86_64.rpm

టెర్మినల్ విండోలో sudo rpm -U osquery-4.6.0-1.linux.x86_64.rpm

మంజారోలో, osquery డిఫాల్ట్ రిపోజిటరీలలో ఉంది. మేము దీన్ని ఉపయోగించి ఇన్‌స్టాల్ చేయవచ్చు pacman.

sudo pacman -Sy osquery

sudo pacman - టెర్మినల్ విండోలో నా osquery

ఆస్క్యూరీ సరిగ్గా ఇన్‌స్టాల్ చేయబడిందని మీరు తనిఖీ చేయవచ్చు మరియు ఓస్క్వెరీని ప్రారంభించడం ద్వారా మీరు ఏ వెర్షన్‌ను ఉపయోగిస్తున్నారో తెలుసుకోవచ్చు --version ఎంపిక. ఒకటి ఉందని గమనించండి “ది” ఆదేశం చివరిలో. IS “osqueryi” కాదు “osquery”. అక్కడ “ది” ఇంటరాక్టివ్ అంటే.

osqueryi --version

osqueryi - టెర్మినల్ విండోలో వెర్షన్

ఆస్క్యూరీ ఇంటరాక్టివ్ షెల్

ఇంటరాక్టివ్ మోడ్‌లో osquery ప్రారంభించడానికి, ఉపయోగించండి osqueryi ఆదేశం.

osqueryi

టెర్మినల్ విండోలో osqueryi

ఇంటరాక్టివ్ ఓస్క్వరీ షెల్ ప్రారంభించబడింది మరియు ప్రాంప్ట్ ప్రదర్శించబడుతుంది “osquery>”.

ఇక్కడే మీరు SQL మరియు టైప్ చేస్తారు dot ఆదేశాలు. డాట్ కమాండ్లు ఓస్క్వరీ షెల్ తో ఇంటరాక్ట్ అవ్వడానికి మీరు జారీ చేసే ఆదేశాలు. ఒకటి లేదా రెండు మినహాయింపులతో, డాట్ ఆదేశాలు కంప్యూటర్ గురించి ఎటువంటి సమాచారాన్ని ఇవ్వవు. వాటికి పాయింట్ లేదా పాయింట్ పేరు పెట్టారు “.” ఇది అన్ని కుట్టు ఆదేశాల ప్రారంభంలో కనిపిస్తుంది.

మీరు కీని ఉపయోగించవచ్చు “పై సూచిక” గతంలో ఉపయోగించిన ఆదేశాల ద్వారా చక్రం తిప్పడానికి మరియు పట్టిక పేర్లకు టాబ్ పూర్తి చేయడం అందుబాటులో ఉంది.

డాట్ ఆదేశాల జాబితాను మరియు ప్రతి దాని యొక్క శీఘ్ర వివరణను పొందడానికి, ఉపయోగించండి .help ప్రాంప్ట్ వద్ద ఆదేశం “osquery>”.

.help

. ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో సహాయం చేయండి

ఆస్క్యూరీ సెషన్‌ను మూసివేయడానికి మీరు రెండింటినీ ఉపయోగించవచ్చు .exit లేదా .quit.

.quit

v ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

SQL ఆదేశాలను ఉపయోగించడం

డేటాబేస్లో పట్టికలుగా నివేదించగల సిస్టమ్ సమాచారాన్ని osquery అందిస్తుంది. ఆ డేటాబేస్ను ప్రశ్నించడానికి, ప్రతి ఒక్కటి కలిగి ఉన్న పట్టికలు మరియు క్షేత్రాల పేర్లను తెలుసుకోవడం అవసరం. ది .tables ఆదేశం మీ కోసం పట్టికలను జాబితా చేస్తుంది.

.tables

ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో టేబుల్స్

చాలా పట్టికలు ఉన్నాయి. మీరు ముందుకు మరియు వెనుకకు స్క్రోల్ చేయవచ్చు మరియు మీకు ఆసక్తి ఉన్న వాటి కోసం శోధించవచ్చు. మేము దాని గురించి మరింత తెలుసుకోవాలనుకుంటున్నాము uptime పట్టిక. ది .schema కమాండ్ పట్టిక యొక్క ఫీల్డ్ పేర్లను మరియు ప్రతి ఫీల్డ్ కలిగి ఉన్న డేటా రకాన్ని జాబితా చేస్తుంది.

.schema uptime

ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో .స్కీమా సమయ సమయం

మా మొదటి SQL స్టేట్‌మెంట్‌ను జారీ చేయగలిగేంతగా మాకు ఇప్పుడు తెలుసు. మేము ఫైల్ నుండి డేటాను ఎన్నుకుంటాము days, hours, ఉంది minutes నుండి నిలువు వరుసలు uptime పట్టిక. ఇది SQL అని గుర్తుంచుకోండి, కాబట్టి సెమికోలన్ ఉపయోగించండి “;“ఆదేశాన్ని ముగించడానికి.

select days, hours, minutes from uptime;

రోజులు, గంటలు, సమయ నిమిషాలు ఎంచుకోండి; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

మేము అన్ని నిలువు వరుసలను చూడాలనుకుంటే, మేము ఒక నక్షత్రాన్ని ఉపయోగించవచ్చు “*“అన్ని కాలమ్ పేర్లను సూచించే సత్వరమార్గంగా. కానీ ఇంకా వేగంగా ఉండే డాట్ కమాండ్ ఉంది. రకం .all అదే ఫలితాన్ని పొందడానికి పట్టిక పేరు తరువాత. (గుర్తుంచుకో, సెమికోలన్ లేదు “;” చివరిలో పాయింట్ ఆదేశాలు.)

select * from uptime;
.all uptime

సమయము నుండి * ఎంచుకోండి; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

పట్టికల నుండి డేటాను ఎంచుకోవడం

వినియోగదారు పట్టిక

అన్ని వినియోగదారు పేర్ల జాబితాను చూడటానికి మనం ఫైల్‌ను ప్రశ్నించవచ్చు users పట్టిక.

select username from users;

వినియోగదారుల నుండి వినియోగదారు పేరును ఎంచుకోండి; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

ఫలితాలలో ఏదైనా కాలమ్ ద్వారా మీరు డేటాను క్రమబద్ధీకరించవచ్చు. ఈ ఉదాహరణలో, మనకు ఒకే కాలమ్ మాత్రమే ఉంది, కాని మనం ఇంకా డేటాను క్రమబద్ధీకరించవచ్చు.

select username from users order by username;

వినియోగదారు పేరు ద్వారా వినియోగదారుల క్రమం నుండి వినియోగదారు పేరును ఎంచుకోండి; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

మేము వినియోగదారు పేర్ల ఉపసమితిని చూడాలనుకుంటే, బహుశా ఒక నిర్దిష్ట పొడవు ఉన్నట్లయితే, మన SQL స్టేట్‌మెంట్‌కు మరిన్ని నిబంధనలను జోడించవచ్చు.

select username, directory from users where length(username)=4 order by username;

వినియోగదారు పేరు, వినియోగదారు పేరు నుండి డైరెక్టరీని ఎంచుకోండి, ఇక్కడ పొడవు (వినియోగదారు పేరు) = 4 వినియోగదారు పేరు ద్వారా క్రమబద్ధీకరించండి; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

బహుశా మేము ఒకే వినియోగదారు పేరుపై మాత్రమే ఆసక్తి కలిగి ఉండవచ్చు.

select username, directory, shell from users where username="mary";

వినియోగదారు పేరు = ఉన్న వినియోగదారుల నుండి వినియోగదారు పేరు, డైరెక్టరీ, షెల్ ఎంచుకోండి"మరియా"; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

ప్రక్రియ పట్టిక

మేము ఏ పట్టికలోని డేటాకు ఒకే సూత్రాలను వర్తింపజేయవచ్చు. మేము ఒక ఫైల్ వివరాలను తెలుసుకోవాలనుకుంటే gedit ప్రాసెస్, మేము దీనిని ఇలా చూడవచ్చు:

select pid, name, state, start_time from processes where name="gedit";

పేరు = ఉన్న ప్రక్రియల నుండి పిడ్, పేరు, స్థితి, ప్రారంభ_ సమయాన్ని ఎంచుకోండి"gedit"; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

అక్కడ “ఎస్.” లో state కాలమ్ అంటే అంతరాయం కలిగించే నిద్ర.

పట్టిక in_in_user లో లాగిన్ అయింది

మేము ఇంతకుముందు చేసినట్లుగా కాన్ఫిగర్ చేసిన వినియోగదారుల జాబితాను చూడటానికి బదులుగా, ప్రస్తుతం లాగిన్ అయిన వినియోగదారులపై మాకు ఎక్కువ ఆసక్తి ఉంది.

select user, host, time from logged_in_users;

లాగిన్ అయిన వినియోగదారు నుండి ఇప్పుడు వినియోగదారుని, హోస్ట్‌ను ఎంచుకోండి; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

మానవులేతర వినియోగదారులను మినహాయించడానికి, ఉపయోగించండి “not like“SQL నిబంధన. ది tty కాలమ్‌లో యూజర్ యొక్క టిటి లేదా టిల్డే వివరాలు ఉన్నాయి “~“Tty ఉపయోగంలో లేకపోతే.

select user, host, time from logged_in_users where tty not like "~";

వినియోగదారుని ఎంచుకోండి, హోస్ట్, ఇప్పుడు tty ఇష్టపడని వినియోగదారుని లాగిన్ చేయండి "~"; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

వినియోగదారు పేరు ఉన్న వినియోగదారుని మనం చూడవచ్చు “డేవ్” రెండుసార్లు లాగిన్ అయ్యారు.

ది “: 0” లో host కాలమ్ కంప్యూటర్‌కు కనెక్ట్ చేయబడిన స్క్రీన్ మరియు కీబోర్డ్‌ను సూచిస్తుంది. కాబట్టి ఆ వినియోగదారు భౌతికంగా ప్రాంగణంలో ఉండాలి. ఆ వినియోగదారు పేరును ఉపయోగించే ఇతర లాగిన్ సెషన్ మరొక IP చిరునామా నుండి.

దర్యాప్తు చేయడం బహుశా అవసరం. నేను ఇక్కడ భవనంలో ఉంటే వారు కంప్యూటర్‌ను రిమోట్‌గా ఎలా యాక్సెస్ చేయవచ్చు? ఈ సెషన్లలో ఒకటి మోసపూరితమైనది కావచ్చు.

Os_version పట్టిక

లైనక్స్ వెర్షన్ గురించి వివరాలను తెలుసుకోవడానికి, ఫైల్‌ను ప్రశ్నించండి os_version పట్టిక.

select name, major, minor, codename from os_version;

os_version నుండి పేరు, పెద్ద, చిన్న, సంకేతనామం ఎంచుకోండి; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

ఇంటర్ఫేస్_అడ్డ్రెస్ పట్టిక

ది interface_addresses పట్టికలో నెట్‌వర్క్ ఇంటర్‌ఫేస్‌లపై సమాచారం ఉంది.

select interface, address from interface_addresses order by interface;

ఇంటర్ఫేస్ను ఎంచుకోండి, ఇంటర్ఫేస్కు ఇంటర్ఫేస్_అడ్డ్రెస్ ఆర్డర్ నుండి చిరునామా; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

మెమరీ_ఇన్ఫో పట్టిక

ది memory_info పట్టికలో మీ కంప్యూటర్‌లోని మెమరీ మొత్తం మరియు అది ఎలా ఉపయోగించబడుతుందనే దాని గురించి సమాచారం ఉంది.

select memory_total, memory_free, cached from memory_info;

మెమరీ_ఇన్ఫో చేత కాష్ చేయబడిన మెమరీ_మొత్తం, మెమరీ_ఫ్రీని ఎంచుకోండి; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

సమూహాల పట్టిక

మీ సిస్టమ్‌లో కాన్ఫిగర్ చేయబడిన సమూహాలను త్వరగా చూడటానికి, ఉపయోగించండి .all కమాండ్ పాయింట్ ఆన్ groups పట్టిక.

.అన్ని సమూహాలు

ఇంటరాక్టివ్ ఓస్క్వెరీ సెషన్‌లో అన్ని సమూహాలు

వినియోగదారులతో అనుబంధించబడిన సమూహాల వివరాలను చూడటానికి, సమూహ ID తో 1000 కంటే ఎక్కువ లేదా సమానమైన సమూహాలను ఫిల్టర్ చేయండి.

select * from groups where gid>=1000;

సమూహాల నుండి * ఎంచుకోండి gid data-lazy-src=

డెబ్_ప్యాకేజీల పట్టిక

ది deb_packages పట్టికలో అన్ని సాఫ్ట్‌వేర్ ప్యాకేజీల వివరాలు ఉన్నాయి “.దేబ్” అవి మీ కంప్యూటర్‌లో ఇన్‌స్టాల్ చేయబడ్డాయి. ఒక ఫైల్ కూడా ఉంది rpm_packages ఫెడోరా మరియు ఇతర Red Hat ఉత్పన్నాల పట్టిక. ఇతర ప్యాకేజీ నిర్వహణ వ్యవస్థలు జాబితా చేయబడలేదు.

ఈ పరీక్ష యంత్రంలో చాలా ప్యాకేజీలు ఉన్నాయి. ఫలితాలు 10 రికార్డులకు పరిమితం చేయబడ్డాయి.

select name, version, source from deb_packages limit 10;

deb_packages పరిమితి 10 నుండి పేరు, సంస్కరణ, మూలాన్ని ఎంచుకోండి; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

సిస్టమ్_ఇన్ఫో పట్టిక

System_info పట్టికలో చాలా సమాచారం ప్యాక్ చేయబడింది. మేము ఈ కంప్యూటర్‌లో ఇన్‌స్టాల్ చేసిన సెంట్రల్ ప్రాసెసింగ్ యూనిట్ (సిపియు) బ్రాండ్‌ను తనిఖీ చేయబోతున్నాం.

select cpu_brand from system_info;

system_info నుండి cpu_brand ని ఎంచుకోండి; ఇంటరాక్టివ్ ఓస్క్వరీ సెషన్‌లో

మంచుకొండ యొక్క చిట్కా

osquery మీ వేలికొనలకు 150 కి పైగా పట్టికల నుండి సమాచారాన్ని ఉంచుతుంది. మీకు ఎక్కువ SQL తెలియకపోయినా, ఈ అద్భుతమైన అనువర్తనాన్ని ఉత్పాదకంగా ఉపయోగించుకోవటానికి మీకు కావలసినంత తక్కువ నైపుణ్యం పొందడం మీకు సులభం అవుతుంది.

Source link