Põhiline muud Kuidas kasutada Lua dissectorit Wiresharkis

Kuidas kasutada Lua dissectorit Wiresharkis



Maailma ühe parima võrgupakettide püüdmise tööriistana võimaldab Wireshark teil saavutada konkreetseid andmepakette, et saaksite neid analüüsida nii võrguühenduseta kui ka reaalajas. Mõelge rakendusele kui võimalusele oma võrgu kaudu voolavaid andmeid tähelepanelikult uurida, võimaldades teil tuvastada probleeme ja eeskirjade eiramisi.

  Kuidas kasutada Lua dissectorit Wiresharkis

Saate kasutada dissektoreid, kui soovite analüüsida paketi andmete teatud osa. Nagu nimigi ütleb, 'lahkab' see protsess koodi, võimaldades teil välja lõigata teatud aspektid, mis vajavad teie tähelepanu. See õpetus selgitab, kuidas Lua skriptikeelt kasutades Wiresharkis dissektoreid luua ja kasutada.

Enne alustamist – mida peate dissectorite kohta teadma

Kuigi dissektorid pakuvad kiiret viisi andmepaketi osade analüüsimiseks Wiresharkis, peavad nad tõhusaks tööks järgima mõnda protokolli. Need protokollid hõlmavad järgmist.

  • Iga loodud dissektor peab olema registreeritud, et käsitleda teatud tüüpi kasulikku koormust erinevast protokollist. Selle registreerimise lõpuleviimiseks peate määrama oma dissektorile 'Proto' objekti, mida näete allpool.
  • Kui helistate Wiresharki kaudu dissektorile, saab see rakendusest kolm asja:
    • TVB Object – TVB puhver andmepaketist.
    • TreeItem Object – puujuur, mis esindab andmepuu ühte sõlme.
    • Pinfo Object – paketiteabe kirje.
  • Dissektorit saate kutsuda ainult siis, kui teie andmepakett vastab DissectorTable-le, mille määrasite oma objektile 'Proto'.
    • Saate sellest nõudest mööda minna, sundides funktsiooni 'Decode As' kaudu kasutama dissektorit. Kuid isegi siis saate dissektorit sundida ainult siis, kui DissectorTable, mille määrasite oma objektile 'Proto', on õiget tüüpi.

Dissectori seadistamine LUA abil

Kuna Wireshark on nii kirjutatud C-programmeerimiskeeles ja kasutab seda, on enamik dissektoreid sarnaselt kirjutatud C-keeles. Siiski võite soovida kasutada Lua-d. See skriptikeel on lihtsam kui C ja seega paremini juurdepääsetav kodeerivatele uustulnukatele või neile, kes soovivad lihtsalt luua dissektori, kasutades kergemat keelt.

Kuigi teie kood on lihtsam, on Lua kasutamisel saadav dissektor tavaliselt aeglasem kui see, mille loote C-ga. Sellegipoolest tuleb järgida neid samme, kui soovite luua Lua abil Wiresharki dissektori.

kuidas ss ilma neid teadmata

1. samm – seadistage Lua Wiresharkis

Kui te pole seda varem Wiresharkis kasutanud, peate Lua seadistama.

  1. Klõpsake 'Abi', seejärel 'About Wireshark'.
  2. Klõpsake 'Kaustad'.
  3. Valige aktiivse Lua skripti loomiseks üks järgmistest.
    • Globaalsed Lua pistikprogrammid
    • Isiklikud Lua pistikprogrammid
    • Isiklik

Pärast aktiveerimist on teie skript valmis iga kord, kui käivitate Wiresharki. Iga kord, kui teete selles skriptis muudatusi, peate muudatuse registreerimiseks taaskäivitama Wiresharki või vajutage klahvikombinatsiooni Ctrl + Shift + L, et muudatuste aktiveerimiseks uuesti laadida kõik oma Lua skriptid.

2. samm – dissektori loomise põhietapid

Kui olete Luaga juba tuttav, saate Wiresharkis töötava dissektori skripti loomiseks kasutada järgmisi samme.

  • Deklareerige oma dissektori protokoll, mis nõuab nii pika nime määramist protokollipuus kasutamiseks kui ka lühikese nime, mis toimib dissektori kuvafiltri nimena.
    • Looge järgmised kolm välja koos nende sobivate tüüpidega.
    • Küsimus – näitab küsimuse tüüpi.
    • Vastus – näitab vastuse tüüpi.
  • MessageType – näitab, kas teie pakett nõuab küsimust või vastust.
  • Registreerige oma väljad, et Wireshark teaks, kuidas neid kuvada. Ilma registreeritud väljadeta kuvatakse teade „Lua Error”, mis tavaliselt ütleb, et teie puuüksuse protoväli on kehtetu.
  • Looge lahkamisfunktsioon, mis sisaldab eelnevalt mainitud Pinfot (sisaldab andmeid teie paketi kohta) ja Tree Item (puu loomine, mille alampuule lisate). Samuti peate looma 'puhvri', mis asub teie TCP peal.
  • Määrake nii protokoll kui ka port, mille jaoks Wireshark dissektorit kasutama peab. Näiteks saate määrata protokolli 'TCP' ja pordi numbri, mida soovite kasutada.

3. samm – lisage oma dissector Wiresharki

Praegu on teie dissektor nagu elektripirn. See on olemas, kuid sellest pole teile kasu enne, kui saate selle kaudu jõudu kasutada. Teisisõnu, teie dissektor pole veel Wiresharki lisatud, nii et peate selle käsitsi lisama, et see käivitada, järgides neid samme.

käsuviip täisekraanil
  1. Klõpsake nuppu 'Abi' ja minge menüüsse 'Teave Wiresharki kohta'.
  2. Valige vahekaart 'Kaust', et leida oma Lua-faili teede loend.
  3. Valige 'Isiklikud Lua pluginad'. Vajadusel looge kataloog.
  4. Kopeerige ja kleepige loodud Lua fail kataloogi 'Personal Lua Plugins'. Dissektori sisselülitamiseks laadige uuesti Wireshark.

Hea mõte on testida oma uut dissektorit, avades mõned jäädvustatud paketid. Wireshark peaks edastama sõnumi, mis näitab dissektorile valitud pikka nime koos teabega sõnumi tüübi (küsimus või vastus) ja kontrolli tulemuste kohta.

Mõned näidiskoodid

Kui te pole varem dissektorit loonud (või olete Lua uus kasutaja), Wireshark pakub teile proovimiseks käepärast lahkaja näidet:

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)

Postdissektorid ja aheldatud dissektorid

Võib-olla soovite oma dissektorite kasutamisega veidi põhjalikumalt minna, kui olete õppinud neid Luas looma. Wireshark pakub kahte täiendavat tüüpi dissektoreid – postdissektoreid ja aheldatud dissektoreid –, mis pakuvad rohkem funktsionaalsust.

Järeldissektor sarnaneb paljuski kõigi paketi jaoks käivitatud lahkajate viimase kontrolliga. Registreerite selle, et saada märguanne, kui Wireshark on helistanud kõigile teistele dissektoritele, mida soovite kasutada, ja saate seda kasutada veergude „Protokoll” ja „Teave” filtreerimiseks. See funktsioon on eriti kasulik, kui soovite välja filtreerida mitu paketti seansi jooksul, kus andmekogumite vahel on pikk vahe ja te ei suuda neid kõiki eraldi meelde tuletada.

kuidas anda admin vastuolude korral

Dissektorite aheldamine täidab sarnast funktsiooni (vähemalt varem kasutatud dissektorite kaudu filtreerimise osas), andes teile juurdepääsu ühe dissektori andmetele. Peamine eelis on see, et aheldatud lahkaja ei pea uuesti iga paketti läbi jooksma, andes teile tulemuse, ilma et peaksite ootama, kuni algne dissector uuesti töötab.

Lahkamine Luas

Arvestades, et Wireshark pakub juba C-s (oma loomulikus keeles) dissektorite loomist, ei pruugi te näha vajadust nende loomiseks ka Luas. Sellegipoolest võivad need, kes ei tunne C-d hästi, aga ka need, kes on juba Luat õppinud, avastada, et Lua kerge skriptimine muudab dissektorite loomise lihtsamaks. Tõsi, peate protsessi käivitamisel leppima pikema laadimisajaga võrreldes C-põhiste dissektoritega, kuid see on kasulik, kui teil on võimalus sellest hoolimata.

Sellega seoses tahame sinust kuulda. Kui tihti te Wiresharkis dissektoreid kasutate? Kas olete proovinud neid varem C-vormingus luua ja millist kasu teie arvates Luas lahkajate tegemine pakub? Andke meile teada allpool olevas kommentaaride jaotises.

Huvitavad Artiklid

Toimetaja Valik

Kuidas luua lõime X-is (endine Twitter)
Kuidas luua lõime X-is (endine Twitter)
Täielik X lõime juhend algajatele, selgitades, mis need on, kuidas neid kasutatakse, kuidas need on seotud säutsutormiga ja kuidas seda kirjutada.
Kuidas ühendada RSS-voog sotsiaalmeediaga
Kuidas ühendada RSS-voog sotsiaalmeediaga
Olenemata sellest, kas teil on endal ajaveeb või teile meeldib lihtsalt Internetist huvitavat lugemist otsida, jagate oma sotsiaalmeedias tõenäoliselt pidevalt artikleid. Kuigi käsitsi nupul „Jaga” klõpsamine teeb töö hästi, on see olemas
Kuidas saada Robloxis hashtag filtrit
Kuidas saada Robloxis hashtag filtrit
Rohkem kui lihtsalt populaarne mäng, on Robloxist saanud ülemaailmne nähtus. Sellisena on sellel palju lahedaid popkultuuriviiteid ja sageli antakse välja spetsiaalsete sündmuste reklaamikoode. Kas teadsite, et üks selline üritus toimub
Laadige alla Playful Puppies teema Windows 10, 8 ja 7 jaoks
Laadige alla Playful Puppies teema Windows 10, 8 ja 7 jaoks
Windowsi teemal Playful Puppies on väikesed armsad kutsikad. See kaunis teemapakk loodi algselt Windows 7 jaoks, kuid saate seda kasutada Windows 10, Windows 7 ja Windows 8. Mänguliste kutsikate teemal on 13 taustapilti erinevatest kutsikatõugudest, sealhulgas ungari vizsla, chihuahua, terjer ja kuldne retriiver. Lisatud pildid
CapCuti vanusefiltri kasutamine
CapCuti vanusefiltri kasutamine
CapCut on rakendus, mis võimaldab teil ringi mängida ja TikToki jaoks kõige põnevamaid videoid luua. Üks CapCutiga seotud suundumusi on vanusefilter. Saate luua vanaduse või nooruse näofiltreid
Kiire näpunäide: kuidas Cortana märguandeid Windows 10-s välja lülitada
Kiire näpunäide: kuidas Cortana märguandeid Windows 10-s välja lülitada
Microsoft soovib tõesti, et kasutaksite Windows 10 sisseehitatud digitaalset assistenti Cortanat. Tegelikult tahavad nad, et kasutaksite Cortanat nii palju, et nad häiriksid teid märguannetega, isegi kui te ei puutunud kunagi Cortanasse. Nende väljalülitamiseks toimige järgmiselt.
Kuidas lisada iPhone'i fotovidinat
Kuidas lisada iPhone'i fotovidinat
Saate lisada oma iPhone'i avakuvale fotovidina, et vaadata automaatselt loodud valikut oma parimatest fotodest.