ప్రపంచంలోని అత్యుత్తమ నెట్వర్క్ ప్యాకెట్ క్యాప్చర్ సాధనాల్లో ఒకటిగా, Wireshark నిర్దిష్ట డేటా ప్యాకెట్లను పొందేందుకు మిమ్మల్ని అనుమతిస్తుంది కాబట్టి మీరు వాటిని ఆఫ్లైన్లో మరియు నిజ సమయంలో విశ్లేషించవచ్చు. మీ నెట్వర్క్ ద్వారా ప్రవహించే డేటాను నిశితంగా పరిశీలించే మార్గంగా యాప్ గురించి ఆలోచించండి, సమస్యలు మరియు అక్రమాలను గుర్తించడానికి మిమ్మల్ని అనుమతిస్తుంది.
మీరు ప్యాకెట్ డేటాలోని నిర్దిష్ట భాగాన్ని విశ్లేషించాలనుకుంటే మీరు డిస్సెక్టర్లను ఉపయోగించవచ్చు. పేరు సూచించినట్లుగా, ఈ ప్రక్రియ కోడ్ను 'విచ్ఛిన్నం చేస్తుంది', మీ దృష్టికి అవసరమైన కొన్ని అంశాలను కత్తిరించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఈ ట్యుటోరియల్ లువా స్క్రిప్టింగ్ భాషని ఉపయోగించి వైర్షార్క్లో డిసెక్టర్లను ఎలా సృష్టించాలో మరియు ఉపయోగించాలో వివరిస్తుంది.
మీరు ప్రారంభించడానికి ముందు - డిస్సెక్టర్ల గురించి మీరు తెలుసుకోవలసినది
వైర్షార్క్లోని డేటా ప్యాకెట్లోని భాగాలను విశ్లేషించడానికి డిస్సెక్టర్లు శీఘ్ర మార్గాన్ని అందిస్తున్నప్పటికీ, అవి ప్రభావవంతంగా పనిచేయడానికి కొన్ని ప్రోటోకాల్లను అనుసరించాలి. ఈ ప్రోటోకాల్లు క్రింది వాటిని కలిగి ఉంటాయి:
- మీరు సృష్టించిన ప్రతి డిస్సెక్టర్ వేరే ప్రోటోకాల్ నుండి సెట్ రకం పేలోడ్ను నిర్వహించడానికి రిజిస్టర్ చేయబడాలి. ఈ రిజిస్ట్రేషన్ని పూర్తి చేయడానికి, మీరు మీ డిస్సెక్టర్కి తప్పనిసరిగా “ప్రోటో” ఆబ్జెక్ట్ను కేటాయించాలి, అది మీరు క్రింద చూస్తారు.
- మీరు వైర్షార్క్ ద్వారా డిస్సెక్టర్కి కాల్ చేసినప్పుడు, అది యాప్ నుండి మూడు విషయాలను అందుకుంటుంది:
- TVB ఆబ్జెక్ట్ - డేటా ప్యాకెట్ నుండి TVB బఫర్.
- TreeItem ఆబ్జెక్ట్ - డేటా ట్రీలో ఒకే నోడ్ను సూచించే చెట్టు రూట్.
- పిన్ఫో ఆబ్జెక్ట్ - ప్యాకెట్ ఇన్ఫర్మేషన్ రికార్డ్.
- మీరు మీ “ప్రోటో” ఆబ్జెక్ట్కి సెట్ చేసిన డిస్సెక్టర్ టేబుల్తో మీ డేటా ప్యాకెట్ సరిపోలితే మాత్రమే మీరు డిస్సెక్టర్కి కాల్ చేయవచ్చు.
- మీరు 'డీకోడ్ యాజ్' ఫంక్షన్ ద్వారా డిస్సెక్టర్ని బలవంతంగా ఉపయోగించుకోవడం ద్వారా ఈ అవసరాన్ని అధిగమించవచ్చు. అయినప్పటికీ, మీరు మీ “ప్రోటో” ఆబ్జెక్ట్కు సెట్ చేసిన డిస్సెక్టర్ టేబుల్ సరైన రకం అయితే మాత్రమే మీరు డిసెక్టర్ను బలవంతం చేయగలరు.
LUAని ఉపయోగించి మీ డిస్సెక్టర్ని సెటప్ చేస్తోంది
వైర్షార్క్ రెండూ C ప్రోగ్రామింగ్ లాంగ్వేజ్లో వ్రాయబడినందున మరియు ఉపయోగిస్తున్నందున, చాలా డిస్సెక్టర్లు అదే విధంగా Cలో వ్రాయబడ్డాయి. అయితే, మీరు లువాను ఉపయోగించాలనుకోవచ్చు. ఈ స్క్రిప్టింగ్ భాష C కంటే సరళమైనది మరియు కొత్తవారికి లేదా మరింత తేలికైన భాషను ఉపయోగించి విచ్ఛేదనాన్ని సృష్టించాలనుకునే వారికి కోడింగ్ చేయడానికి మరింత అందుబాటులో ఉంటుంది.
మీ కోడ్ సరళంగా ఉన్నప్పటికీ, లువాను ఉపయోగిస్తున్నప్పుడు మీరు పొందే డిసెక్టర్ సాధారణంగా మీరు C ఉపయోగించి సృష్టించే దాని కంటే నెమ్మదిగా ఉంటుంది. అయినప్పటికీ, మీరు లువాను ఉపయోగించి వైర్షార్క్ డిస్సెక్టర్ను సృష్టించాలనుకుంటే అనుసరించాల్సిన దశలు ఇవి.
పదాన్ని పత్రాన్ని jpeg గా ఎలా మార్చాలి
దశ 1 - వైర్షార్క్లో లువాను సెటప్ చేయండి
మీరు వైర్షార్క్లో ఇంతకు ముందు ఉపయోగించకుంటే, మీరు లువాని సెటప్ చేయాలి:
- 'సహాయం,' తర్వాత 'వైర్షార్క్ గురించి' క్లిక్ చేయండి.
- 'ఫోల్డర్లు' క్లిక్ చేయండి.
- క్రియాశీల Lua స్క్రిప్ట్ని సృష్టించడానికి కింది వాటిలో ఒకదాన్ని ఎంచుకోండి:
- గ్లోబల్ లువా ప్లగిన్లు
- వ్యక్తిగత Lua ప్లగిన్లు
- వ్యక్తిగత
ఒకసారి యాక్టివేట్ చేసిన తర్వాత, మీరు Wiresharkని ప్రారంభించినప్పుడల్లా మీ స్క్రిప్ట్ సిద్ధంగా ఉంటుంది. మీరు ఆ స్క్రిప్ట్కు మార్పు చేసిన ప్రతిసారీ, మార్పును నమోదు చేయడానికి మీరు వైర్షార్క్ని పునఃప్రారంభించాలి లేదా మీ మార్పులను సక్రియం చేయడానికి మీ అన్ని Lua స్క్రిప్ట్లను రీలోడ్ చేయడానికి “Ctrl + Shift + L” నొక్కండి.
దశ 2 - మీ డిస్సెక్టర్ను రూపొందించడానికి ప్రాథమిక దశలు
మీకు ఇప్పటికే లువా గురించి తెలిసి ఉంటే, వైర్షార్క్లో పని చేసే మీ స్వంత డిస్సెక్టర్ స్క్రిప్ట్ను రూపొందించడానికి మీరు ఈ క్రింది దశలను ఉపయోగించవచ్చు:
- మీ డిస్సెక్టర్ కోసం ప్రోటోకాల్ను ప్రకటించండి, దీనికి మీరు ప్రోటోకాల్ ట్రీలో ఉపయోగించడానికి పొడవైన పేరు మరియు డిస్సెక్టర్ డిస్ప్లే ఫిల్టర్ పేరుగా పనిచేసే చిన్న పేరు రెండింటినీ సెట్ చేయాలి.
- కింది మూడు ఫీల్డ్లను వాటి తగిన రకాలతో సృష్టించండి:
- ప్రశ్న - ప్రశ్న రకాన్ని చూపుతుంది.
- సమాధానం - సమాధాన రకాన్ని చూపుతుంది.
- సందేశ రకం - మీ ప్యాకెట్ ప్రశ్న లేదా సమాధానాన్ని అభ్యర్థిస్తే ప్రదర్శిస్తుంది.
- మీ ఫీల్డ్లను నమోదు చేసుకోండి, తద్వారా వాటిని ఎలా ప్రదర్శించాలో వైర్షార్క్కు తెలుసు. నమోదిత ఫీల్డ్లు లేకుండా, మీరు 'Lua ఎర్రర్' సందేశాన్ని అందుకుంటారు, సాధారణంగా మీ ట్రీ ఐటెమ్ ప్రోటోఫీల్డ్ చెల్లదని మీకు తెలియజేస్తుంది.
- గతంలో పేర్కొన్న పిన్ఫో (మీ ప్యాకెట్ గురించిన డేటాను కలిగి ఉంటుంది) మరియు ట్రీ ఐటెమ్ (మీరు సబ్ట్రీకి జోడించే ట్రీని సృష్టించడం) కలిగి ఉండే డిసెక్షన్ ఫంక్షన్ను సృష్టించండి. మీరు తప్పనిసరిగా మీ TCP పైన ఉండే “బఫర్”ని కూడా సృష్టించాలి.
- వైర్షార్క్ తప్పనిసరిగా డిస్సెక్టర్ను ఉపయోగించాల్సిన ప్రోటోకాల్ మరియు పోర్ట్ రెండింటినీ పేర్కొనండి. ఉదాహరణకు, మీరు ప్రోటోకాల్ను “TCP”కి సెట్ చేయవచ్చు మరియు పోర్ట్ నంబర్ను మీరు ఉపయోగించాలనుకుంటున్న దానికి సెట్ చేయవచ్చు.
దశ 3 - వైర్షార్క్కి మీ డిస్సెక్టర్ని జోడించండి
ప్రస్తుతం, మీ డిస్సెక్టర్ కరెంటు లేని బల్బులా ఉంది. ఇది ఉనికిలో ఉంది, కానీ మీరు దాని ద్వారా కొంత శక్తిని అమలు చేసేంత వరకు అది మీకు ఉపయోగపడదు. మరో మాటలో చెప్పాలంటే, మీ డిస్సెక్టర్ వైర్షార్క్కి ఇంకా జోడించబడలేదు, కాబట్టి మీరు ఈ దశలను ఉపయోగించడం ద్వారా దీన్ని అమలు చేయడానికి మాన్యువల్గా జోడించాలి:
- “సహాయం”పై క్లిక్ చేసి, “అబౌట్ వైర్షార్క్” మెనుకి వెళ్లండి.
- మీ Lua ఫైల్ కోసం మార్గాల జాబితాను కనుగొనడానికి 'ఫోల్డర్' ట్యాబ్ను ఎంచుకోండి.
- 'వ్యక్తిగత Lua ప్లగిన్లు' ఎంచుకోండి. అవసరమైతే డైరెక్టరీని సృష్టించండి.
- మీరు సృష్టించిన లువా ఫైల్ను కాపీ చేసి, “పర్సనల్ లువా ప్లగిన్లు” డైరెక్టరీలో అతికించండి. డిస్సెక్టర్ను ఆన్ చేయడానికి వైర్షార్క్ని మళ్లీ లోడ్ చేయండి.
మీరు క్యాప్చర్ చేసిన కొన్ని ప్యాకెట్లను తెరవడం ద్వారా మీ కొత్త డిసెక్టర్పై పరీక్షను అమలు చేయడం మంచిది. వైర్షార్క్ సందేశ రకం (ప్రశ్న లేదా సమాధానం) మరియు మీ చెక్ ఫలితం గురించిన సమాచారంతో పాటు మీ డిస్సెక్టర్ కోసం మీరు ఎంచుకున్న పొడవైన పేరును చూపే సందేశాన్ని అందించాలి.
కొన్ని నమూనా కోడ్
మీరు ఇంతకు ముందు డిస్సెక్టర్ని సృష్టించకుంటే (లేదా మీరు లువాకు కొత్తవారు), వైర్షార్క్ మీరు ప్రయత్నించడానికి సులభ ఉదాహరణ డిసెక్టర్ను అందిస్తుంది:
local p_multi = Proto("multi", "MultiProto");
local vs_protos = {
[2] = "mtp2",
[3] = "mtp3",
[4] = "alcap",
[5] = "h248",
[6] = "ranap",
[7] = "rnsap",
[8] = "nbap"
}
local f_proto = ProtoField.uint8("multi.protocol", "Protocol", base.DEC, vs_protos)
local f_dir = ProtoField.uint8("multi.direction", "Direction", base.DEC, { [1] = "incoming", [0] = "outgoing"})
local f_text = ProtoField.string("multi.text", "Text")
p_multi.fields = { f_proto, f_dir, f_text }
local data_dis = Dissector.get("data")
local protos = {
[2] = Dissector.get("mtp2"),
[3] = Dissector.get("mtp3"),
[4] = Dissector.get("alcap"),
[5] = Dissector.get("h248"),
[6] = Dissector.get("ranap"),
[7] = Dissector.get("rnsap"),
[8] = Dissector.get("nbap"),
[9] = Dissector.get("rrc"),
[10] = DissectorTable.get("sctp.ppi"):get_dissector(3), -- m3ua
[11] = DissectorTable.get("ip.proto"):get_dissector(132), -- sctp
}
function p_multi.dissector(buf, pkt, tree)
local subtree = tree:add(p_multi, buf(0,2))
subtree:add(f_proto, buf(0,1))
subtree:add(f_dir, buf(1,1))
local proto_id = buf(0,1):uint()
local dissector = protos[proto_id]
if dissector ~= nil then
-- Dissector was found, invoke subdissector with a new Tvb,
-- created from the current buffer (skipping first two bytes).
dissector:call(buf(2):tvb(), pkt, tree)
elseif proto_id < 2 then
subtree:add(f_text, buf(2))
-- pkt.cols.info:set(buf(2, buf:len() - 3):string())
else
-- fallback dissector that just shows the raw data.
data_dis:call(buf(2):tvb(), pkt, tree)
end
end
local wtap_encap_table = DissectorTable.get("wtap_encap")
local udp_encap_table = DissectorTable.get("udp.port")
wtap_encap_table:add(wtap.USER15, p_multi)
wtap_encap_table:add(wtap.USER12, p_multi)
udp_encap_table:add(7555, p_multi)
పోస్ట్ డిసెక్టర్లు మరియు చైన్డ్ డిస్సెక్టర్లు
మీరు లువాలో వాటిని రూపొందించడంలో ప్రావీణ్యం పొందిన తర్వాత మీ డిసెక్టర్ వాడకంతో కొంచెం లోతుగా వెళ్లాలనుకోవచ్చు. వైర్షార్క్ రెండు అదనపు రకాల డిస్సెక్టర్లను అందిస్తుంది - పోస్ట్డిసెక్టర్లు మరియు చైన్డ్ డిసెక్టర్లు - ఇవి మరింత కార్యాచరణను అందిస్తాయి.
గూగుల్ క్రోమ్ ఇష్టమైన స్థానం విండోస్ 10
పోస్ట్డిసెక్టర్ అనేది మీరు ప్యాకెట్ కోసం అమలు చేసిన అన్ని డిసెక్టర్ల తుది తనిఖీ లాంటిది. వైర్షార్క్ మీరు ఉపయోగించాలనుకునే ప్రతి ఇతర డిసెక్టర్ని పిలిచిన తర్వాత నోటిఫికేషన్ పొందడానికి మీరు దాన్ని నమోదు చేసుకోండి మరియు మీరు “ప్రోటోకాల్” మరియు “సమాచారం” నిలువు వరుసలను ఫిల్టర్ చేయడానికి దాన్ని ఉపయోగించవచ్చు. మీరు డేటా సెట్ల మధ్య ఎక్కువ గ్యాప్ ఉన్న సెషన్లో బహుళ ప్యాకెట్లను ఫిల్టర్ చేయాలనుకుంటే మరియు ఒక్కొక్కటిగా ఒక్కొక్కటిగా రీకాల్ చేయలేకపోతే ఈ ఫీచర్ చాలా ఉపయోగకరంగా ఉంటుంది.
చైనింగ్ డిస్సెక్టర్లు ఒకే విధమైన ఫంక్షన్ను (కనీసం గతంలో ఉపయోగించిన డిస్సెక్టర్ల ద్వారా ఫిల్టరింగ్ పరంగా) మీకు ఒకే డిస్సెక్టర్ డేటాకు యాక్సెస్ను అందించడం ద్వారా అందిస్తాయి. ఇక్కడ ఉన్న ముఖ్య ప్రయోజనం ఏమిటంటే, చైన్డ్ డిస్సెక్టర్ మళ్లీ ప్రతి ప్యాకెట్లో పరుగెత్తాల్సిన అవసరం లేదు, అసలు డిస్సెక్టర్ మళ్లీ రన్ అయ్యే వరకు మీరు వేచి ఉండాల్సిన అవసరం లేకుండా మీకు ఫలితం ఇస్తుంది.
లువాలో విడదీయండి
వైర్షార్క్ ఇప్పటికే C (దాని సహజ భాష)లో డిస్సెక్టర్లను సృష్టించే సామర్థ్యాన్ని అందిస్తుంది కాబట్టి, మీరు వాటిని లువాలో కూడా సృష్టించాల్సిన అవసరం కనిపించకపోవచ్చు. అయినప్పటికీ, Cతో సౌకర్యంగా లేని వారు, అలాగే ఇప్పటికే లువాపై పట్టు సాధించిన వారు, లువా యొక్క తేలికపాటి స్క్రిప్టింగ్ వారి డిసెక్టర్లను సృష్టించడాన్ని సులభతరం చేస్తుందని కనుగొనవచ్చు. నిజమే, మీరు C- ఆధారిత డిసెక్టర్లతో పోలిస్తే ప్రక్రియను అమలు చేస్తున్నప్పుడు మీరు ఎక్కువ లోడ్ సమయం నుండి వ్యాపారం చేయాలి, కానీ సంబంధం లేకుండా ఎంపికను కలిగి ఉండటం ఉపయోగకరంగా ఉంటుంది.
దానితో, మేము మీ నుండి వినాలనుకుంటున్నాము. Wireshark (వైర్షార్క్) ఎంత మోతాదులో మీరు డిస్సెక్టర్లను ఉపయోగించాలి? మీరు ఇంతకు ముందు వాటిని సిలో సృష్టించడానికి ప్రయత్నించారా మరియు లువాలో డిసెక్టర్లను తయారు చేయడం వల్ల ఎలాంటి ప్రయోజనాలు లభిస్తాయని మీరు అనుకుంటున్నారు? దిగువ వ్యాఖ్యల విభాగంలో మాకు తెలియజేయండి.