اہم دیگر وائر شارک میں لوا ڈسیکٹر کا استعمال کیسے کریں۔

وائر شارک میں لوا ڈسیکٹر کا استعمال کیسے کریں۔



دنیا کے بہترین نیٹ ورک پیکٹ کیپچر ٹولز میں سے ایک کے طور پر، Wireshark آپ کو مخصوص ڈیٹا پیکٹ حاصل کرنے کی اجازت دیتا ہے تاکہ آپ آف لائن اور حقیقی وقت دونوں میں ان کا تجزیہ کر سکیں۔ ایپ کو اپنے نیٹ ورک کے ذریعے بہنے والے ڈیٹا کو قریب سے جانچنے کے طریقے کے طور پر سوچیں، جس سے آپ مسائل اور بے ضابطگیوں کو پکڑ سکتے ہیں۔

  وائر شارک میں لوا ڈسیکٹر کا استعمال کیسے کریں۔

اگر آپ پیکٹ کے ڈیٹا کے مخصوص حصے کا تجزیہ کرنا چاہتے ہیں تو آپ ڈسیکٹر استعمال کر سکتے ہیں۔ جیسا کہ نام سے ظاہر ہوتا ہے، یہ عمل کوڈ کو 'منقطع' کرتا ہے، جس سے آپ کو کچھ ایسے پہلوؤں کو ختم کرنے کی اجازت ملتی ہے جن پر آپ کی توجہ کی ضرورت ہے۔ یہ ٹیوٹوریل بتاتا ہے کہ Lua اسکرپٹنگ لینگویج کا استعمال کرتے ہوئے Wireshark میں ڈسیکٹر بنانے اور استعمال کرنے کا طریقہ۔

شروع کرنے سے پہلے - آپ کو ڈسیکٹرز کے بارے میں کیا جاننے کی ضرورت ہے۔

اگرچہ dissectors Wireshark میں ڈیٹا پیکٹ کے کچھ حصوں کا تجزیہ کرنے کا ایک تیز طریقہ پیش کرتے ہیں، لیکن انہیں مؤثر طریقے سے کام کرنے کے لیے کچھ پروٹوکولز پر عمل کرنا پڑتا ہے۔ ان پروٹوکول میں درج ذیل شامل ہیں:

  • آپ کے بنائے ہوئے ہر ڈسیکٹر کو مختلف پروٹوکول سے پے لوڈ کی ایک سیٹ کی قسم کو ہینڈل کرنے کے لیے رجسٹرڈ ہونا ضروری ہے۔ اس رجسٹریشن کو مکمل کرنے کے لیے، آپ کو اپنے ڈسیکٹر کو ایک 'پروٹو' آبجیکٹ تفویض کرنا ہوگا، جو آپ نیچے دیکھیں گے۔
  • جب آپ Wireshark کے ذریعے ڈسیکٹر کو کال کرتے ہیں، تو اسے ایپ سے تین چیزیں موصول ہوتی ہیں:
    • TVB آبجیکٹ - ڈیٹا پیکٹ سے TVB بفر۔
    • TreeItem آبجیکٹ - ایک درخت کی جڑ جو ڈیٹا ٹری میں ایک نوڈ کی نمائندگی کرتی ہے۔
    • پنفو آبجیکٹ - ایک پیکٹ کی معلومات کا ریکارڈ۔
  • آپ صرف ڈسیکٹر کو کال کر سکتے ہیں اگر آپ کا ڈیٹا پیکٹ ڈسیکٹر ٹیبل سے میل کھاتا ہے جسے آپ نے اپنے 'پروٹو' آبجیکٹ پر سیٹ کیا ہے۔
    • آپ 'Decode As' فنکشن کے ذریعے ڈسیکٹر کے استعمال کو مجبور کر کے اس ضرورت کو پورا کر سکتے ہیں۔ لیکن اس کے باوجود، آپ ڈسیکٹر کو صرف اس صورت میں مجبور کر سکتے ہیں جب آپ نے اپنے 'پروٹو' آبجیکٹ پر سیٹ کردہ DissectorTable صحیح قسم کی ہو۔

LUA کا استعمال کرتے ہوئے اپنے ڈسیکٹر کو ترتیب دینا

چونکہ Wireshark دونوں C پروگرامنگ زبان میں لکھا جاتا ہے اور استعمال کرتا ہے، زیادہ تر ڈسیکٹر اسی طرح C میں لکھے جاتے ہیں۔ تاہم، آپ Lua استعمال کرنا چاہیں گے۔ یہ اسکرپٹنگ لینگویج C سے زیادہ آسان ہے اور اس طرح نئے آنے والوں یا ان لوگوں کے لیے زیادہ قابل رسائی ہے جو زیادہ ہلکی پھلکی زبان کا استعمال کرکے ڈسیکٹر بنانا چاہتے ہیں۔

محفوظ موڈ سے باہر ایک PS4 حاصل کرنے کے لئے کس طرح

اگرچہ آپ کا کوڈ آسان ہوگا، لیکن Lua کا استعمال کرتے ہوئے آپ کو جو ڈسیکٹر ملتا ہے وہ عام طور پر اس سے سست ہوتا ہے جسے آپ C استعمال کرتے ہوئے بناتے ہیں۔ اس کے باوجود، اگر آپ Lua کا استعمال کرتے ہوئے Wireshark ڈسیکٹر بنانا چاہتے ہیں تو ان اقدامات پر عمل کرنا ضروری ہے۔

مرحلہ 1 - Wireshark میں Lua سیٹ اپ کریں۔

اگر آپ نے اسے پہلے Wireshark میں استعمال نہیں کیا ہے تو آپ کو Lua سیٹ اپ کرنے کی ضرورت ہوگی:

  1. 'مدد' پر کلک کریں اور اس کے بعد 'وائر شارک کے بارے میں'۔
  2. 'فولڈرز' پر کلک کریں۔
  3. ایک فعال Lua اسکرپٹ بنانے کے لیے درج ذیل میں سے ایک کا انتخاب کریں:
    • گلوبل لوا پلگ انز
    • ذاتی Lua پلگ انز
    • ذاتی

ایک بار چالو ہونے کے بعد، جب بھی آپ Wireshark شروع کریں گے آپ کا اسکرپٹ تیار ہو جائے گا۔ جب بھی آپ اس اسکرپٹ میں کوئی تبدیلی کرتے ہیں، آپ کو تبدیلی کو رجسٹر کرنے کے لیے یا تو Wireshark کو دوبارہ شروع کرنے کی ضرورت ہوتی ہے یا اپنی تبدیلیوں کو فعال بنانے کے لیے اپنی Lua اسکرپٹس کو دوبارہ لوڈ کرنے کے لیے 'Ctrl + Shift + L' دبانے کی ضرورت ہوتی ہے۔

مرحلہ 2 - آپ کے ڈسیکٹر بنانے کے بنیادی اقدامات

اگر آپ Lua سے پہلے ہی واقف ہیں، تو آپ اپنا ڈسیکٹر اسکرپٹ بنانے کے لیے درج ذیل اقدامات استعمال کر سکتے ہیں جو Wireshark میں کام کرے گی۔

  • اپنے ڈسیکٹر کے لیے پروٹوکول کا اعلان کریں، جس کے لیے آپ کو پروٹوکول ٹری میں استعمال کے لیے ایک لمبا نام اور ایک مختصر نام دونوں سیٹ کرنے کی ضرورت ہوتی ہے جو ڈسیکٹر کے ڈسپلے فلٹر نام کے طور پر کام کرتا ہے۔
    • درج ذیل تین فیلڈز بنائیں، ان کی مناسب اقسام کے ساتھ:
    • سوال - سوال کی قسم دکھاتا ہے۔
    • جواب - جواب کی قسم دکھاتا ہے۔
  • پیغام کی قسم - ظاہر کرتا ہے کہ آیا آپ کا پیکٹ سوال یا جواب کی درخواست کرتا ہے۔
  • اپنے فیلڈز کو رجسٹر کریں تاکہ Wireshark جانتا ہو کہ انہیں کیسے ڈسپلے کرنا ہے۔ رجسٹرڈ فیلڈز کے بغیر، آپ کو 'Lua Error' کا پیغام ملے گا، جو عام طور پر آپ کو بتاتا ہے کہ آپ کا Tree Item ProtoField غلط ہے۔
  • ایک ڈسیکشن فنکشن بنائیں جس میں پہلے ذکر کیا گیا پنفو (آپ کے پیکٹ کے بارے میں ڈیٹا پر مشتمل) اور ٹری آئٹم شامل ہو (جس درخت کو آپ ذیلی درخت سے جوڑیں گے)۔ آپ کو ایک 'بفر' بھی بنانا چاہیے، جو آپ کے TCP کے اوپر بیٹھتا ہے۔
  • پروٹوکول اور پورٹ دونوں کی وضاحت کریں جس کے لیے Wireshark کو ڈسیکٹر استعمال کرنا چاہیے۔ مثال کے طور پر، آپ پروٹوکول کو 'TCP' اور پورٹ نمبر پر سیٹ کر سکتے ہیں جسے آپ استعمال کرنا چاہتے ہیں۔

مرحلہ 3 - اپنے ڈسیکٹر کو وائر شارک میں شامل کریں۔

ابھی، آپ کا ڈسیکٹر بجلی کے بغیر روشنی کے بلب کی طرح ہے۔ یہ موجود ہے، لیکن اس کا کوئی فائدہ نہیں جب تک کہ آپ اس کے ذریعے کچھ طاقت نہیں چلا سکتے۔ دوسرے لفظوں میں، آپ کے ڈسیکٹر کو ابھی تک Wireshark میں شامل نہیں کیا گیا ہے، لہذا آپ کو ان اقدامات کا استعمال کرکے اسے چلانے کے لیے اسے دستی طور پر شامل کرنا ہوگا:

گوگل شیٹس میں ڈپلیکیٹ تلاش کریں
  1. 'مدد' پر کلک کریں اور 'وائر شارک کے بارے میں' مینو کی طرف جائیں۔
  2. اپنی Lua فائل کے راستوں کی فہرست تلاش کرنے کے لیے 'فولڈر' ٹیب کو منتخب کریں۔
  3. 'ذاتی لوا پلگ انز' کو منتخب کریں۔ اگر ضروری ہو تو ایک ڈائریکٹری بنائیں۔
  4. آپ نے جو Lua فائل بنائی ہے اسے 'ذاتی Lua پلگ انز' ڈائرکٹری میں کاپی اور پیسٹ کریں۔ ڈسیکٹر کو آن کرنے کے لیے وائر شارک کو دوبارہ لوڈ کریں۔

آپ نے جو پیکٹ پکڑے ہیں ان میں سے کچھ کو کھول کر اپنے نئے ڈسیکٹر پر ٹیسٹ چلانا اچھا خیال ہے۔ Wireshark کو پیغام کی قسم (سوال یا جواب) اور آپ کے چیک کے نتیجے کے بارے میں معلومات کے ساتھ، ایک پیغام دینا چاہیے جو آپ نے اپنے ڈسیکٹر کے لیے منتخب کیا ہوا لمبا نام ظاہر کرے۔

کچھ نمونہ کوڈ

اگر آپ نے پہلے کوئی ڈسیکٹر نہیں بنایا ہے (یا آپ 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)

پوسٹ ڈسیکٹرز اور چینڈ ڈسیکٹرز

ایک بار جب آپ Lua میں ان کو بنانے میں مہارت حاصل کر لیتے ہیں تو آپ اپنے ڈسیکٹر کے استعمال کے ساتھ تھوڑا سا مزید گہرائی میں جانا چاہتے ہیں۔ وائر شارک دو اضافی قسم کے ڈسیکٹرز پیش کرتا ہے - پوسٹ ڈسیکٹرز اور چینڈ ڈسیکٹرز - جو زیادہ فعالیت پیش کرتے ہیں۔

پوسٹ ڈسیکٹر ان تمام ڈسیکٹرز کی حتمی جانچ کی طرح ہوتا ہے جسے آپ نے پیکٹ کے لیے چلایا ہے۔ آپ اسے رجسٹر کرتے ہیں ایک بار جب Wireshark نے ہر دوسرے ڈسیکٹر کو کال کیا ہے جسے آپ استعمال کرنا چاہتے ہیں، اور آپ اسے 'پروٹوکول' اور 'Info' کالموں کو فلٹر کرنے کے لیے استعمال کر سکتے ہیں۔ یہ خصوصیت خاص طور پر مفید ہے اگر آپ ایک سیشن میں ایک سے زیادہ پیکٹوں کو فلٹر کرنا چاہتے ہیں جہاں آپ کے ڈیٹا سیٹس کے درمیان طویل وقفہ ہو اور ہر ایک کو انفرادی طور پر یاد نہ کر سکے۔

چیننگ ڈسیکٹرز آپ کو کسی ایک ڈسیکٹر کے ڈیٹا تک رسائی دے کر (کم از کم پہلے استعمال شدہ ڈسیکٹرز کے ذریعے فلٹر کرنے کے معاملے میں) اسی طرح کا کام کرتا ہے۔ یہاں اہم فائدہ یہ ہے کہ زنجیروں میں بند ڈسیکٹر کو ہر پیکٹ کے ذریعے دوبارہ چلانے کی ضرورت نہیں ہے، جس سے آپ کو اصل ڈسیکٹر کے دوبارہ چلنے کا انتظار کرنے پر مجبور کیے بغیر نتیجہ ملتا ہے۔

Lua میں کاٹنا

یہ دیکھتے ہوئے کہ Wireshark پہلے ہی C (اپنی فطری زبان) میں ڈسیکٹر بنانے کی صلاحیت پیش کرتا ہے، ہو سکتا ہے آپ کو Lua میں بھی انہیں بنانے کی ضرورت محسوس نہ ہو۔ پھر بھی، وہ لوگ جو C کے ساتھ آرام دہ نہیں ہیں، ساتھ ہی وہ لوگ جنہوں نے پہلے ہی Lua میں مہارت حاصل کر لی ہے، یہ محسوس کر سکتے ہیں کہ Lua کی ہلکی پھلکی اسکرپٹنگ ان کے ڈسیکٹر بنانا آسان بناتی ہے۔ یہ سچ ہے کہ جب آپ C-based dissectors کے مقابلے میں اس عمل کو چلاتے ہیں تو آپ کو لوڈنگ کا طویل وقت ختم کرنا پڑتا ہے، لیکن اس سے قطع نظر آپشن کا ہونا مفید ہے۔

اس کے ساتھ کہا، ہم آپ سے سننا چاہتے ہیں۔ آپ Wireshark میں ڈسیکٹر کتنی بار استعمال کرتے ہیں؟ کیا آپ نے انہیں پہلے C میں بنانے کی کوشش کی ہے، اور آپ کے خیال میں Lua میں ڈسیکٹر بنانے سے کیا فائدہ ہوتا ہے؟ ہمیں نیچے تبصرے کے سیکشن میں بتائیں۔

دلچسپ مضامین

ایڈیٹر کی پسند

اسنیپ چیٹ میں اپنی جنس کو کیسے تبدیل کریں۔
اسنیپ چیٹ میں اپنی جنس کو کیسے تبدیل کریں۔
اسنیپ چیٹ نے فوری پیغام رسانی کی دنیا کو طوفان کے ذریعے غائب کر دیا ہے اور اسے رابطے کا ایک منفرد محفوظ ذریعہ بنا دیا ہے۔ ایک بار جب آپ اکاؤنٹ قائم کر لیتے ہیں، تو آپ بنیادی معلومات بشمول جنس کو براہ راست تبدیل نہیں کر سکتے۔ تاہم، آپ کر سکتے ہیں
غلطی درست کریں ہم ونڈوز 10 میں اس اپ ڈیٹ کو مکمل نہیں کرسکے
غلطی درست کریں ہم ونڈوز 10 میں اس اپ ڈیٹ کو مکمل نہیں کرسکے
ونڈوز 10 کے متعدد صارفین نے اطلاع دی ہے کہ بعض اوقات ونڈوز 10 درج ذیل پیغام سے خود کو اپ ڈیٹ کرنے کے قابل نہیں ہوتا ہے: ہم اس اپ ڈیٹ کو مکمل نہیں کرسکے۔ تبدیلیوں کو کالعدم کرنا۔
اپنے میک پر ڈیفالٹ ڈاؤن لوڈز فولڈر کو کیسے تبدیل کریں۔
اپنے میک پر ڈیفالٹ ڈاؤن لوڈز فولڈر کو کیسے تبدیل کریں۔
سفاری، فائر فاکس، اور کروم سبھی یہ تبدیل کرنے کے آسان طریقے پیش کرتے ہیں کہ آپ کے میک پر ڈاؤن لوڈ کی گئی فائلیں کہاں ختم ہوتی ہیں (اور چاہے آپ سے پوچھا جائے کہ ہر ایک کو کہاں رکھنا ہے)۔ اس مضمون میں، ہم ان سب کے لیے اس اختیار کو تبدیل کرنے کا طریقہ دیکھیں گے!
Samsung Galaxy J7 Pro - آواز کام نہیں کر رہی ہے - کیا کرنا ہے۔
Samsung Galaxy J7 Pro - آواز کام نہیں کر رہی ہے - کیا کرنا ہے۔
ہر موبائل فون کے مالک کو کم از کم ایک بار اسپیکر والیوم کے ساتھ مسائل کا سامنا کرنا پڑا ہے۔ زیادہ تر وقت، مسئلہ اس وقت ہوتا ہے جب آپ دستی طور پر والیوم کو کم کرتے ہیں یا ہوائی جہاز کے موڈ کو غیر فعال کرنا بھول جاتے ہیں۔ لیکن کبھی کبھی، حجم کے ساتھ مسئلہ کچھ سگنل دیتا ہے
بلوکس پھلوں میں سپر ہیومین کیسے حاصل کریں۔
بلوکس پھلوں میں سپر ہیومین کیسے حاصل کریں۔
Blox Fruits کی وسیع دنیا میں، کھلاڑیوں کو لڑائی کے تمام انداز سیکھنے کو ملتے ہیں، ہر ایک آخری سے زیادہ لاجواب ہے۔ شارک مین کراٹے سے لے کر ڈیتھ سٹیپ تک، آپ اپنے پسندیدہ کو تلاش کر سکتے ہیں اور اپنے دشمنوں سے لڑ سکتے ہیں۔ ایک اور
لیففرگ مہاکاوی میں نیٹ فلکس کیسے شامل کریں
لیففرگ مہاکاوی میں نیٹ فلکس کیسے شامل کریں
مارکیٹ میں بچوں کے معروف گولوں میں سے ایک کے طور پر ، لیففرگ چھوٹے بچوں کے لئے دلچسپ ، تعلیمی اور سیکھنے کے پلے ٹائم کی پیش کش کرتا ہے۔ زیادہ تر والدین اپنے بچوں کو عام طور پر گولیاں اور انٹرنیٹ کی پوری طاقت کے تابع نہیں کرنا چاہتے ہیں۔
ونڈوز 8 میں پوشیدہ ایڈمنسٹریٹر اکاؤنٹ کو فعال یا غیر فعال کرنے کا طریقہ
ونڈوز 8 میں پوشیدہ ایڈمنسٹریٹر اکاؤنٹ کو فعال یا غیر فعال کرنے کا طریقہ
بیان کرتا ہے کہ آپ بلٹ میں پوشیدہ ایڈمنسٹریٹر اکاؤنٹ کو کیسے چالو کرسکتے ہیں