وائر شارک کا استعمال کرتے ہوئے HTTP تجزیہ۔

Http Analysis Using Wireshark



HTTP کیا ہے؟

سب سے پہلے HTTP کی مکمل شکل ہائپر ٹیکسٹ ٹرانسفر پروٹوکول ہے۔ ایچ ٹی ٹی پی آئی ایس او یا ٹی سی پی/آئی پی ماڈل میں ایپلیکیشن لیئر پروٹوکول ہے۔ HTTP کو جاننے کے لیے نیچے دی گئی تصویر دیکھیں جو کہ ایپلی کیشن لیئر کے نیچے رہتی ہے۔







HTTP بذریعہ استعمال ہوتا ہے۔ ورلڈ وائڈ ویب۔ (w.w.w) اور یہ وضاحت کرتا ہے کہ براؤزر کے ذریعے پیغامات کو کس طرح فارمیٹ اور منتقل کیا جاتا ہے۔ لہذا HTTP اس بات کی وضاحت کرتا ہے کہ براؤزر کو HTTP کمانڈ ملنے پر کیا کارروائی کی جانی چاہیے۔ اور HTTP سرور سے ڈیٹا حاصل کرنے کے لیے HTTP کمانڈ کی ترسیل کے لیے قوانین کی وضاحت کرتا ہے۔



مثال کے طور پر ، جب آپ براؤزر (انٹرنیٹ ایکسپلورر ، کروم ، فائر فاکس ، سفاری وغیرہ) میں یو آر ایل داخل کرتے ہیں تو یہ اصل میں سرور کو ایک HTTP کمانڈ بھیجتا ہے۔



HTTP طریقے:

HTTP/1.1 کے لیے کچھ طریقے ہیں (یہ HTTP ورژن ہے)





گیٹ ، ہیڈ ، پوسٹ ، پٹ ، ڈیلیٹ ، کنیکٹ ، آپشن اور ٹریک۔

ہم ہر طریقہ کی تفصیلات میں نہیں جائیں گے بلکہ ہم ان طریقوں کے بارے میں جان لیں گے جو اکثر دیکھے جاتے ہیں۔



حاصل کریں: GET درخواست ویب سرور سے ڈیٹا مانگتی ہے۔ یہ ایک اہم طریقہ ہے جو دستاویز کی بازیابی کا استعمال کرتا ہے۔ ہم اس طریقہ کار کی ایک عملی مثال دیکھیں گے۔

پوسٹ: POST طریقہ استعمال کیا جاتا ہے جب سرور کو کچھ ڈیٹا بھیجنے کی ضرورت ہوتی ہے۔

HTTP Wiresahark ہے:

آئیے HTTP کیسے کام کرتا ہے یہ سمجھنے کے لیے کچھ عملی کوشش کریں۔

تو اس مثال میں ہم ڈاؤن لوڈ کریں گے۔ alice.txt (ڈیٹا فائل سرور میں موجود ہے) سے gaia.cs.umass.edu سرور

سیٹپس:

  1. یو آر ایل کھولیں۔ http://gaia.cs.umass.edu/wireshark-labs/alice.txt [ہم کمپیوٹر براؤزر میں alice.txt ڈاؤن لوڈ کرنے کے لیے مکمل url جانتے ہیں۔
  2. اب ہم براؤزر میں ڈاؤنلوڈ فائل دیکھتے ہیں۔ یہاں اسکرین شاٹ ہے۔

  1. متوازی طور پر ہم نے Wireshark میں پیکٹوں پر قبضہ کر لیا ہے۔

وائر شارک میں HTTP پیکٹوں کا تبادلہ:

HTTP میں جانے سے پہلے ہمیں معلوم ہونا چاہیے کہ HTTP پورٹ 80 اور TCP کو ٹرانسپورٹ لیئر پروٹوکول کے طور پر استعمال کرتا ہے [ہم TCP کی وضاحت کسی اور موضوع بحث میں کریں گے]۔

اب دیکھتے ہیں کہ نیٹ ورک میں کیا ہوتا ہے جب ہم اس یو آر ایل کو ڈالتے ہیں اور براؤزر میں انٹر دبائیں۔

یہاں کے لیے اسکرین شاٹ ہے۔

TCP 3 طرفہ مصافحہ ——-> HTTP OK ——-> TCP ڈیٹا [alice.txt کا مواد] >->

HTTP- ٹھیک ہے۔

اب آئیے دیکھتے ہیں کہ HTTP GET اور HTTP OK پیکٹ کے اندر کیا ہے۔

نوٹ: ہم TCP تبادلوں کی وضاحت کسی اور موضوع بحث میں کریں گے۔

HTTP حاصل کریں:

TCP 3 وے ہینڈ شیک [SYN ، SYN+ACK اور ACK پیکٹ] کے بعد HTTP GET درخواست سرور کو بھیجی جاتی ہے اور یہاں پیکٹ میں اہم فیلڈز ہیں۔

1. درخواست کا طریقہ: حاصل کریں ==>۔ پیکٹ ایک HTTP GET ہے۔

2. درخواست URI: /wireshark-labs/alice.txt ==> موکل /Wireshark-labs کے تحت موجود فائل alice.txt مانگ رہا ہے۔

3. درخواست ورژن: HTTP/1.1 ==> یہ HTTP ورژن 1.1 ہے۔

4. قبول کریں: ٹیکسٹ/ایچ ٹی ایم ایل ، ایپلیکیشن/ایکس ایچ ٹی ایم ایل+ایکس ایم ایل ، امیج/جے ایکس آر ، */ * ==> سرور کو فائل کی قسم کے بارے میں بتاتا ہے کہ یہ [کلائنٹ سائیڈ براؤزر] قبول کر سکتا ہے۔ یہاں کلائنٹ alice.txt کی توقع کر رہا ہے جو کہ ٹیکسٹ ٹائپ ہے۔

5. قبول زبان: en-US ==>۔ زبان کا معیار قبول کیا۔

6. صارف ایجنٹ: Mozilla/5.0 (Windows NT 10.0 W WOW64 Tr Trident/7.0 r rv: 11.0) جیسے Gecko ==> کلائنٹ سائیڈ براؤزر کی قسم۔ یہاں تک کہ اگر ہم انٹرنیٹ ایکسپلورر استعمال کرتے ہیں لیکن ہم اسے ہمیشہ/زیادہ سے زیادہ وقت دیکھتے ہیں۔

7. قبول انکوڈنگ: gzip ، ڈیفلیٹ۔ ==> کلائنٹ سائیڈ میں قبول شدہ انکوڈنگ۔

8. ہوسٹ: gaia.cs.umass.edu ==> یہ ویب سرور کا نام ہے جہاں کلائنٹ HTTP GET درخواست بھیج رہا ہے۔

9. کنکشن: زندہ رکھیں ==>۔ کنکشن کنٹرول کرتا ہے کہ آیا موجودہ ٹرانزیکشن ختم ہونے کے بعد نیٹ ورک کنکشن کھلا رہتا ہے۔ کنکشن کی قسم زندہ رکھنا ہے۔

HTTP-GET پیکٹ فیلڈز کا اسکرین شاٹ یہ ہے۔

HTTP ٹھیک ہے:

TCP ڈیٹا [alice.txt کا مواد] کے بھیجنے کے بعد HTTP OK کلائنٹ کو بھیجا جاتا ہے اور یہاں پیکٹ میں اہم فیلڈز ہیں۔
1. جوابی ورژن: HTTP / 1.1 ==>۔ یہاں سرور HTTP ورژن 1.1 میں بھی ہے۔
2. اسٹیٹس کوڈ: 200۔ ==> سرور کے ذریعہ بھیجا گیا اسٹیٹس کوڈ۔
3. جوابی جملہ: ٹھیک ہے ==> سرور کے ذریعہ بھیجا گیا جوابی جملہ۔

تو 2 اور 3 سے ہمیں 200 ٹھیک ملتا ہے جس کا مطلب ہے کہ درخواست [HTTP GET] کامیاب ہو گئی ہے۔

4. تاریخ: اتوار ، 10 فروری 2019 06:24:19 GMT۔ ==> موجودہ تاریخ ، GMT میں وقت جب HTTP GET سرور کے ذریعہ موصول ہوا۔
5. سرور: اپاچی/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16 mod_perl/2.0.10 Perl/v5.16.3 ==> سرور کی تفصیلات اور کنفیگریشن ورژن۔
6. آخری ترمیم شدہ : ہفتہ ، 21 اگست 2004 14:21:11 GMT۔ ==> alice.txt فائل کے لیے آخری ترمیم شدہ تاریخ اور وقت۔
7.ETag: 2524a-3e22aba3a03c0 ==>۔ ETag اشارہ کرتا ہے کہ مواد کیشنگ اور کارکردگی کو بہتر بنانے کے لیے تبدیل نہیں کیا گیا ہے۔ یا اگر مواد تبدیل ہوچکا ہے تو ، ای ٹیگز ایک وسائل کی بیک وقت اپ ڈیٹس کو ایک دوسرے کو اوور رائٹ کرنے سے روکنے میں مددگار ثابت ہوتے ہیں۔
8. قبول کی حدیں: بائٹس ==>۔ بائٹ وہ یونٹ ہے جو مواد کے لیے سرور میں استعمال ہوتی ہے۔
9. مواد کی لمبائی: 152138 ==>۔ یہ بائٹس میں alice.txt کی کل لمبائی ہے۔
10. زندہ رکھیں: ٹائم آؤٹ = 5 ، زیادہ سے زیادہ = 100۔ ==> پیرامیٹرز کو زندہ رکھیں۔
11. کنکشن: زندہ رہو ==> کنکشن کنٹرول کرتا ہے کہ آیا موجودہ ٹرانزیکشن ختم ہونے کے بعد نیٹ ورک کنکشن کھلا رہتا ہے۔ کنکشن کی قسم زندہ رکھنا ہے۔
12. مواد کی قسم: متن/سادہ چارسیٹ = UTF-8 ==>۔ مواد [alice.txt] کی قسم متن ہے اور چارسیٹ معیار UTF-8 ہے۔

HTTP OK پیکٹ کے مختلف شعبوں کا اسکرین شاٹ یہ ہے۔

تو اب ہم جانتے ہیں کہ کیا ہوتا ہے جب ہم کسی ایسی فائل کی درخواست کرتے ہیں جو ویب سرور میں موجود ہو۔

نتیجہ:

HTTP ایک سادہ ایپلیکیشن پروٹوکول ہے جسے ہم اپنی زندگی میں ہر روز استعمال کرتے ہیں۔ لیکن یہ محفوظ نہیں ہے لہذا HTTPS نافذ کیا گیا ہے۔ کہ ایس کا مطلب محفوظ ہے۔ یہی وجہ ہے کہ آپ زیادہ سے زیادہ ویب سرور کا نام http سے شروع کرتے ہیں۔ s: // [ویب سائٹ نام] . اس کا مطلب ہے کہ آپ اور سرور کے درمیان تمام مواصلات خفیہ ہیں۔ ہم مستقبل میں اس HTTPS پر الگ بحث کریں گے۔