تحليل HTTP باستخدام Wireshark

Http Analysis Using Wireshark



ما هو HTTP؟

الأول هو أن الشكل الكامل لـ HTTP هو بروتوكول نقل النص التشعبي. HTTP هو بروتوكول طبقة تطبيق في نموذج ISO أو TCP / IP. انظر أدناه الصورة لمعرفة HTTP الذي يتواجد تحت طبقة التطبيق.







يتم استخدام HTTP بواسطة ملف شبكة الانترنت (w.w.w) ويحدد كيفية تنسيق الرسائل وإرسالها بواسطة المستعرض. لذا فإن تعريف HTTP يحدد الإجراء الذي يجب اتخاذه عندما يتلقى المتصفح أمر HTTP. وأيضًا يحدد HTTP قواعد إرسال أمر HTTP للحصول على البيانات من الخادم.



على سبيل المثال ، عند إدخال عنوان url في المتصفح (Internet Explorer و Chrome و Firefox و Safari وما إلى ذلك) ، فإنه يرسل في الواقع أمر HTTP إلى الخادم ، ويرد الخادم بأمر مناسب.



طرق HTTP:

هناك مجموعة من الطرق لـ HTTP / 1.1 (هذا هو إصدار HTTP)





احصل على ، رأس ، انشر ، ضع ، احذف ، اربط ، خيار وتتبع.

لن ندخل في تفاصيل كل طريقة بدلاً من ذلك سنتعرف على الطرق التي نراها كثيرًا



احصل على: طلب GET يطلب بيانات من خادم الويب. هذه هي الطريقة الرئيسية المستخدمة لاسترجاع المستندات. سنرى مثالًا عمليًا واحدًا لهذه الطريقة.

بريد: يتم استخدام طريقة POST عندما تكون مطلوبة لإرسال بعض البيانات إلى الخادم.

HTTP هو Wiresahark:

دعنا نجرب شيئًا عمليًا لفهم كيفية عمل HTTP؟

لذلك في هذا المثال سنقوم بالتنزيل alice.txt (ملف البيانات موجود في الخادم) من عند gaia.cs.umass.edu الخادم.

الاعدادات:

  1. افتح عنوان URL http://gaia.cs.umass.edu/wireshark-labs/alice.txt [نحن نعرف عنوان url الكامل لتنزيل alice.txt] في متصفح الكمبيوتر.
  2. الآن نرى الملف الذي تم تنزيله في المتصفح. ها هي لقطة الشاشة

  1. بالتوازي ، قمنا بالتقاط الحزم في Wireshark.

تبادل حزم HTTP في Wireshark:

قبل أن ننتقل إلى HTTP ، يجب أن نعرف أن HTTP يستخدم المنفذ 80 و TCP كبروتوكول طبقة النقل [سنشرح TCP في مناقشة موضوع آخر].

دعنا الآن نرى ما يحدث في الشبكة عندما نضع عنوان URL هذا ونضغط على إدخال في المتصفح.

هذه هي لقطة الشاشة لـ

مصافحة TCP ثلاثية الاتجاهات ——-> HTTP OK ——-> TCP Data [content of alice.txt] ——->

HTTP- موافق

الآن دعونا نرى ما هو موجود داخل حزم HTTP GET و HTTP OK.

ملاحظة: سنشرح تبادل TCP في مناقشة موضوع آخر.

الحصول على HTTP:

بعد إجراء مصافحة TCP ثلاثية الاتجاهات [حزم SYN و SYN + ACK و ACK] يتم إرسال طلب HTTP GET إلى الخادم وهنا الحقول المهمة في الحزمة.

1.طريقة الطلب: احصل على ==> الحزمة هي HTTP GET.

2. اطلب URI: /wireshark-labs/alice.txt ==> يطلب العميل ملف alice.txt الموجود ضمن / Wireshark-labs

3.طلب الإصدار: HTTP / 1.1 ==> إنه HTTP الإصدار 1.1

4.Accept: text / html، application / xhtml + xml، image / jxr، * / * ==> يخبر الخادم بنوع الملف الذي يمكن أن يقبله [متصفح من جانب العميل]. هنا يتوقع العميل alice.txt وهو نوع النص.

5- قبول اللغة: ar-US ==> معيار اللغة المقبول.

6- وكيل المستخدم: Mozilla / 5.0 (Windows NT 10.0؛ WOW64؛ Trident / 7.0؛ rv: 11.0) مثل Gecko ==> نوع المتصفح من جانب العميل. حتى لو استخدمنا Internet Explorer لكننا نراه دائمًا / الحد الأقصى من الوقت كما يقول Mozilla

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 بتوقيت جرينتش ==> التاريخ الحالي ، الوقت بتوقيت غرينتش عند استلام الخادم لـ HTTP GET.
5.الخادم: Apache / 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 بتوقيت جرينتش ==> تاريخ ووقت آخر تعديل لملف alice.txt.
7.ETag: 2524a-3e22aba3a03c0 ==> يشير ETag إلى عدم تغيير المحتوى للمساعدة في التخزين المؤقت وتحسين الأداء. أو إذا تم تغيير المحتوى ، فإن علامات etag مفيدة للمساعدة في منع التحديثات المتزامنة للمورد من الكتابة فوق بعضها البعض.
8. قبول-نطاقات: بايت ==> البايت هي الوحدة المستخدمة في الخادم للمحتوى.
9.طول المحتوى: 152138 ==> هذا هو الطول الإجمالي لملف alice.txt بالبايت.
10. ابق على قيد الحياة: المهلة = 5 ، الحد الأقصى = 100 ==> الحفاظ على المعلمات على قيد الحياة.
11. الاتصال: حافظ على حياتك ==> يتحكم الاتصال في بقاء اتصال الشبكة مفتوحًا بعد انتهاء المعاملة الحالية. نوع الاتصال هو البقاء على قيد الحياة.
12.نوع المحتوى: نص عادي؛ charset = UTF-8 ==> نوع المحتوى [alice.txt] هو نص ومعيار مجموعة الأحرف هو UTF-8.

فيما يلي لقطة شاشة لحقول مختلفة من حزمة HTTP OK.

حتى الآن نحن نعرف ما يحدث عندما نطلب أي ملف موجود في خادم الويب.

استنتاج:

HTTP هو بروتوكول تطبيق بسيط نستخدمه كل يوم في حياتنا. لكنها ليست آمنة لذلك تم تنفيذ HTTPS. أن S تعني الأمان. هذا هو السبب في أن الحد الأقصى لاسم خادم الويب يبدأ بـ http s: // [اسم الموقع] . هذا يعني أن جميع الاتصالات بينك وبين الخادم مشفرة. سيكون لدينا مناقشة منفصلة حول HTTPS هذا في المستقبل.