کیپچر میں نیا IKE_SA_INIT تبادلہ کیسے پڑھیں
نئی IKEv2 گفتگو کلیدوں کے بننے سے پہلے پڑھی جا سکتی ہے۔ کوشش کیپچر کریں، ہیڈر پڑھیں، جواب ملائیں اور 4500 پورٹ پر IKE کو ESP سے الگ کریں۔
اس کیپچر سے شروع کریں جو کوشش کے پہلے پیکٹ سے پہلے شروع ہو، ورنہ آپ بات چیت کے درمیان پڑھیں گے۔ پہلے سے جاری گفتگو خفیہ کردہ تبادلے اور کلید کی تجدید دکھاتی ہے، اور ان میں سے کوئی بھی آغاز جیسا نہیں لگتا۔ آغاز وہ حصہ ہے جو کلیدوں کے بغیر ڈی کوڈ کیا جا سکتا ہے، اسی لیے یہ رسائی کے سوالات کا اتنا اچھا جواب دیتا ہے۔ ترتیب سے چار جانچیں آپ کو تازہ کیپچر سے اس قابلِ دفاع بیان تک لے جاتی ہیں کہ کس فریق نے بولنا بند کیا۔
پہلے، تصدیق کریں کہ کیپچر شروع سے شروع ہوتا ہے
ٹنل کے اوپر آنے کے بعد شروع ہونے والے کیپچر میں لپٹا ہوا ڈیٹا اسٹریم اور وقفے وقفے سے keepalive ہوں گے، اور دونوں یا خفیہ ہیں یا تقریباً خالی۔ کلائنٹ دوبارہ شروع کریں اور کوشش کو خود ریکارڈ کریں، یا کیپچر چلتے ہوئے جان بوجھ کر نئی کنکشن پیدا کریں۔ اگر آپ تازہ کوشش نہیں بنا سکتے تو اپنے نوٹس میں لکھیں، کیونکہ کوئی بھی ڈی کوڈنگ اس آغاز کو واپس نہیں لا سکتی جو آپ نے کبھی ریکارڈ نہ کیا ہو۔
کیپچر کو دو سروں اور UDP 500 اور 4500 تک محدود کریں تاکہ فائل پڑھنے کے قابل حد تک چھوٹی رہے۔ مصروف ہوسٹ پر بغیر فلٹر کا کیپچر گفتگو کو غیر متعلق ٹریفک کے نیچے دفن کر دیتا ہے۔
tcpdump -i any -n -s 0 -w fresh-ike.pcap 'udp port 500 or udp port 4500'کوشش دلچسپ ہو تو فائل رکھیں، کیونکہ وہی کیپچر اگلے دونوں سوالوں کا جواب دیتا ہے: تبادلہ کیا تھا، اور کیا کچھ واپس آیا۔ اس پر آغاز کا وقت اور وہ سرے کی جوڑی لکھیں جس پر آپ نے فلٹر کیا۔ ان دو حقیقتوں کے بغیر کیپچر ایک ہفتے بعد بیکار ہے، جب پتے بدل چکے ہوں اور کسی کو یاد نہ ہو کہ کون سی کوشش ریکارڈ ہوئی تھی۔
دوسرے، پے لوڈ سے پہلے ہیڈر پڑھیں
IKE ہیڈر سکیورٹی پیرامیٹر اشاریے، تبادلے کی قسم اور پیغام ID رکھتا ہے، اور نئی گفتگو میں یہ اقدار منفرد ہوتی ہیں۔ آغاز کرنے والا غیر صفر SPI بناتا ہے، ابتدائی درخواست جواب دہندہ کا صفر SPI رکھتی ہے کیونکہ ابھی کوئی جواب نہیں دیکھا گیا، تبادلے کی قسم IKE_SA_INIT ہے، اور پیغام ID صفر ہے۔ باقی سب کچھ اسی گفتگو کے بعد کے مرحلے یا بالکل مختلف کوشش کا ہے۔
اس پہلے تبادلے میں تجویز، کلید کا تبادلہ اور nonce پے لوڈ کھلے طور پر پڑھے جا سکتے ہیں۔ پڑھا جا سکنا تصدیق شدہ ہونا نہیں ہے، اور اس مرحلے پر کسی فریق نے اپنی شناخت ثابت نہیں کی۔
نجی Diffie-Hellman قدر کبھی تار پر نہیں گزرتی، اس لیے کیپچر آپ کو سیشن کلیدیں نکالنے کی اجازت نہیں دیتا۔ تصدیق اگلے تبادلے میں ہوتی ہے، جو پہلے والے کی طے کردہ باتوں سے محفوظ ہے۔ اگر کوئی پوچھے کہ فریق اصلی ہے یا نہیں، تو یہ تبادلہ اس سوال کا جواب نہیں دے سکتا۔ یہ صرف یہ دکھا سکتا ہے کہ دونوں فریق ایک تجویز پر متفق ہوئے اور ایسا مشترک راز بنایا جو فائل میں نہیں ہے۔
تیسرے، درخواست کو اس کے جواب سے ملائیں
SPI جوڑی، تبادلے کی قسم اور پیغام ID پر ملائیں، پھر جواب کا جھنڈا جانچیں۔ دوبارہ ارسال اصل کا پیغام ID دہراتا ہے اور یہ دوسری لاگ ان کوشش نہیں ہے۔ تبادلوں کے بجائے پیکٹ گننا ہی وہ راستہ ہے جس سے صحت مند گفتگو بھوت لُوپ بن جاتی ہے۔
جواب انکار بھی ہو سکتا ہے: کوکی درخواست، ناقابل قبول گروپ کی اطلاع، یا تجویز کے بارے میں خرابی۔ یہ جائز جوابات ہیں، اور اس کا مطلب ہے کہ راستہ کام کر رہا ہے جبکہ پالیسی نہیں۔ ہر جواب کو کامیابی ماننے کے بجائے اطلاع کو ڈی کوڈ کریں۔ جب اطلاع کسی گروپ یا تجویز کا نام لے، تو مرمت فائر وال پر نہیں، ترتیب کی طرف ہے۔
سمت بھی اہم ہے۔ بغیر جواب کی درخواست اور وہ جواب جو کبھی کلائنٹ تک نہیں پہنچتا مختلف خرابیاں ہیں، اور صرف دوسری کلائنٹ کی طرف سے وقت ختم ہونے جیسی لگتی ہے۔
چوتھے، 4500 پر IKE کو باقی سب سے الگ کریں
پورٹ 4500 تین چیزیں رکھتا ہے جو خلاصے میں ایک جیسی لگتی ہیں: چار بائٹ صفر non-ESP مارکر کے پیچھے IKE، لپٹا ہوا ESP جس کے مارکر کی جگہ غیر صفر SPI ہے، اور مختصر keepalive۔ وہی مارکر IKE کو لپٹے ہوئے ESP سے الگ کرتا ہے، اس لیے ٹریفک کو IKE کہنے سے پہلے وہ بائٹس پڑھیں۔ 4500 پڑھنے والا کیپچر لیبل پورٹ نمبر ہے، پروٹوکول نہیں۔
لپٹا ہوا ESP خفیہ کردہ پے لوڈ ہے جسے کلیدوں کے بغیر سمجھا نہیں جا سکتا، اور اس کی موجودگی خرابی کے بجائے کام کرتے ٹنل کی علامت ہو سکتی ہے۔
اسی کوشش کے لیے دونوں پورٹ دیکھیں، کیونکہ NAT کی شناخت کے بعد IKE 4500 پر جا سکتا ہے اگرچہ وہ 500 پر کھلا تھا۔ صرف 500 پر فلٹر کیا گیا نشان عین اسی وقت خاموش لگتا ہے جب گفتگو کامیاب ہو کر جگہ بدل چکی ہو۔ فلٹر کو وسیع کریں اور عدم موجودگی سے کوئی نتیجہ نکالنے سے پہلے وہی وقتی کھڑکی دوبارہ پڑھیں۔
ایک مشاہداتی نقطے پر خاموشی کا مطلب
کلائنٹ پر جواب نہ ہونا صرف وہی ثابت کرتا ہے جو اس نقطے نے دیکھا۔ فلٹرنگ، روٹنگ، غلط دور کا پتہ، بند سروس اور پروٹوکول کی عدم مطابقت سب وہی خالی نشان پیدا کرتی ہیں۔
متعلقہ ICMP unreachable ثبوت کا اضافہ کرتا ہے، مگر اس کے اندر نقل شدہ پیکٹ پڑھیں اور بھیجنے والے آلے کا پتہ نوٹ کریں۔
راؤٹر کا انکار فریق کی واپس کردہ تصدیق شدہ خرابی سے مختلف واقعہ ہے، اور سروس کے زندہ ہونے کا ثبوت صرف دوسرا دیتا ہے۔ اسی کوشش کو سرور لاگز یا منظور شدہ مشاہدے سے جوڑیں تاکہ معلوم ہو کہ درخواست آئی اور جواب گیا یا نہیں۔ کیپچر محدود اور نجی رکھیں، کیونکہ پڑھنے کے قابل ہینڈ شیک فیلڈز باقی فائل کو بے ضرر نہیں بناتے۔ قابلِ قدر نتیجہ ایک ملائی گئی درخواست اور جواب، یا نامزد مشاہداتی نقطے کے ساتھ ایک دستاویزی خلا ہے۔