Wireshark ব্যবহার করে HTTP বিশ্লেষণ

Http Analysis Using Wireshark



HTTP কি?

প্রথমেই HTTP এর পূর্ণাঙ্গ রূপ হল হাইপারটেক্সট ট্রান্সফার প্রোটোকল। HTTP হল ISO বা TCP/IP মডেলের একটি অ্যাপ্লিকেশন লেয়ার প্রোটোকল। অ্যাপ্লিকেশন স্তরের অধীনে থাকা HTTP খুঁজে পেতে নীচের ছবিটি দেখুন।







HTTP ব্যবহার করে ওয়ার্ল্ড ওয়াইড ওয়েব (w.w.w) এবং এটি সংজ্ঞায়িত করে কিভাবে ব্রাউজার দ্বারা বার্তাগুলি ফরম্যাট করা এবং প্রেরণ করা হয়। সুতরাং HTTP সংজ্ঞায়িত করে যে কোন ব্রাউজার যখন HTTP কমান্ড পায় তখন কী পদক্ষেপ নেওয়া উচিত। এবং HTTP সার্ভার থেকে ডেটা পেতে HTTP কমান্ড প্রেরণের নিয়ম নির্ধারণ করে।



উদাহরণস্বরূপ, যখন আপনি ব্রাউজারে একটি ইউআরএল প্রবেশ করেন (ইন্টারনেট এক্সপ্লোরার, ক্রোম, ফায়ারফক্স, সাফারি ইত্যাদি) এটি আসলে সার্ভারে একটি HTTP কমান্ড পাঠায়।



HTTP পদ্ধতি:

HTTP/1.1 এর জন্য কিছু পদ্ধতি রয়েছে (এটি HTTP সংস্করণ)





GET, HEAD, POST, PUT, DELETE, CONNECT, OPTION এবং TRACE।

আমরা প্রতিটি পদ্ধতির বিশদ বিবরণে যাব না বরং আমরা এমন পদ্ধতি সম্পর্কে জানতে পারব যা প্রায়শই দেখা যায়



পাওয়া: GET অনুরোধ ওয়েব সার্ভার থেকে ডেটা জিজ্ঞাসা করে। এটি একটি প্রধান পদ্ধতি যা ডকুমেন্ট পুনরুদ্ধারের জন্য ব্যবহৃত হয়। আমরা এই পদ্ধতির একটি ব্যবহারিক উদাহরণ দেখতে পাব।

পোস্ট: যখন সার্ভারে কিছু ডেটা পাঠানোর প্রয়োজন হয় তখন পোস্ট পদ্ধতি ব্যবহার করা হয়।

HTTP হল Wiresahark:

HTTP কিভাবে কাজ করে তা বোঝার জন্য ব্যবহারিক কিছু চেষ্টা করা যাক?

সুতরাং এই উদাহরণে আমরা ডাউনলোড করব alice.txt (সার্ভারে উপস্থিত ডেটা ফাইল) থেকে gaia.cs.umass.edu সার্ভার

সেটপস:

  1. URL টি খুলুন http://gaia.cs.umass.edu/wireshark-labs/alice.txt [আমরা alice.txt ডাউনলোড করার জন্য সম্পূর্ণ url জানি] কম্পিউটার ব্রাউজারে।
  2. এখন আমরা ব্রাউজারে ডাউনলোড করা ফাইলটি দেখি। এই হল স্ক্রিনশট

  1. সমান্তরালে আমরা Wireshark মধ্যে প্যাকেট ক্যাপচার আছে।

ওয়্যারশার্কে HTTP প্যাকেট বিনিময়:

HTTP- এ যাওয়ার আগে আমাদের জানা উচিত যে HTTP পোর্ট 80 এবং TCP পরিবহন স্তর প্রোটোকল হিসাবে ব্যবহার করে [আমরা অন্য বিষয় আলোচনায় TCP ব্যাখ্যা করব]।

এখন দেখা যাক নেটওয়ার্কে কী হয় যখন আমরা সেই ইউআরএলটি রাখি এবং ব্রাউজারে এন্টার টিপুন।

এর জন্য স্ক্রিনশট এখানে

টিসিপি 3-উপায় হ্যান্ডশেক ——-> HTTP ঠিক আছে ——-> টিসিপি ডেটা [alice.txt এর বিষয়বস্তু] ——->

HTTP- ঠিক আছে

এখন দেখা যাক HTTP GET এবং HTTP OK প্যাকেটের ভিতরে কি আছে।

দ্রষ্টব্য: আমরা অন্য বিষয় আলোচনায় টিসিপি বিনিময় ব্যাখ্যা করব।

HTTP পান:

টিসিপি 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; WOW64; Trident/7.0; rv: 11.0) যেমন Gecko ==> ক্লায়েন্ট সাইড ব্রাউজারের ধরন। এমনকি যদি আমরা ইন্টারনেট এক্সপ্লোরার ব্যবহার করি কিন্তু আমরা এটা সবসময়/সর্বোচ্চ সময় দেখি মজিলা বলে

7. গ্রহণ-এনকোডিং: gzip, deflate ==> ক্লায়েন্টের পাশে গৃহীত এনকোডিং।

8. হোস্ট: gaia.cs.umass.edu ==> এটি ওয়েব সার্ভারের নাম যেখানে ক্লায়েন্ট HTTP GET অনুরোধ পাঠাচ্ছে।

9. সংযোগ: Keep-Alive ==> বর্তমান লেনদেন শেষ হওয়ার পর নেটওয়ার্ক সংযোগ খোলা থাকে কি না তা নিয়ন্ত্রণ করে। সংযোগের ধরনটি জীবিত রাখা।

এখানে HTTP-GET প্যাকেট ক্ষেত্রের স্ক্রিনশট

HTTP ঠিক আছে:

টিসিপি ডেটা [alice.txt- এর বিষয়বস্তু] সফলভাবে পাঠানোর পর HTTP ওকে ক্লায়েন্টকে পাঠানো হয় এবং এখানে প্যাকেটের গুরুত্বপূর্ণ ক্ষেত্রগুলি রয়েছে।
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. সার্ভার: 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 GMT ==> alice.txt ফাইলের জন্য সর্বশেষ পরিবর্তিত তারিখ এবং সময়।
7.ETag: 2524a-3e22aba3a03c0 ==> ETag নির্দেশ করে বিষয়বস্তু ক্যাশিং এবং কর্মক্ষমতা উন্নত করার জন্য পরিবর্তিত হয়নি। অথবা যদি বিষয়বস্তু পরিবর্তিত হয়, etags একটি সম্পদের যুগপৎ আপডেট একে অপরকে ওভাররাইট করা থেকে রোধ করতে সহায়ক।
8. গ্রহণ-রেঞ্জ: বাইট ==> কন্টেন্টের জন্য সার্ভারে ব্যবহৃত একক হল বাইট।
9. সামগ্রী-দৈর্ঘ্য: 152138 ==> এটি বাইটের মধ্যে alice.txt এর মোট দৈর্ঘ্য।
10. জীবিত রাখুন: সময়সীমা = 5, সর্বোচ্চ = 100 ==> জীবিত পরামিতি রাখুন।
11. সংযোগ: জিবন্ত রাখ ==> বর্তমান লেনদেন শেষ হওয়ার পর নেটওয়ার্ক সংযোগ খোলা থাকে কি না তা নিয়ন্ত্রণ করে। সংযোগের ধরনটি জীবিত রাখা।
12. বিষয়বস্তু-প্রকার: টেক্সট/প্লেইন; charset = UTF-8 ==> বিষয়বস্তু [alice.txt] প্রকার হল পাঠ্য এবং অক্ষরের মান UTF-8।

HTTP ওকে প্যাকেটের বিভিন্ন ক্ষেত্রের স্ক্রিনশট এখানে।

তাই এখন আমরা জানি যখন আমরা ওয়েব সার্ভারে উপস্থিত কোন ফাইলের জন্য অনুরোধ করি তখন কি হয়।

উপসংহার:

HTTP হল একটি সহজ অ্যাপ্লিকেশন প্রোটোকল যা আমরা প্রতিদিন আমাদের জীবনে ব্যবহার করি। কিন্তু এটি নিরাপদ নয় তাই HTTPS প্রয়োগ করা হয়েছে। যে S মানে নিরাপদ। এজন্যই আপনি সর্বাধিক ওয়েব সার্ভারের নাম http দিয়ে শুরু করেন s: // [ওয়েবসাইটের নাম] । এর অর্থ আপনার এবং সার্ভারের মধ্যে সমস্ত যোগাযোগ এনক্রিপ্ট করা আছে। ভবিষ্যতে এই HTTPS নিয়ে আমাদের আলাদা আলোচনা হবে।