উবুন্টুতে আংশিক প্যাকেটের ক্ষতি সহ পিংয়ের আচরণ


2

আমি আমার উবুন্টু সার্ভারে চলমান পিংয়ের রিটার্ন ভেরিয়েবলগুলির দিকে বিশেষভাবে নজর রাখছি, আমি যে ভেরিয়েবলগুলি সন্ধান করছি তা হ'ল: ত্রুটি স্থিতি, স্ট্ডআউটে আউটপুট, স্টেডারে আউটপুট।

হোস্টকে পিং করার সময় নিম্নলিখিত তিনটি পরিস্থিতি ঘটতে পারে:

  1. সমস্ত প্যাকেটে হোস্টের উত্তর (কোনও ত্রুটি নেই)
  2. জেরো প্যাকেটে হোস্টের উত্তর (ত্রুটি)
  3. কিছু প্যাকেটে হোস্টের উত্তর (অনির্দিষ্ট আচরণ)

আমি বেশ man pingকয়েকবার পড়েছি এবং এই পরিস্থিতিতে আমার কী আশা করা উচিত তা খুঁজে পাচ্ছি না।

এটি পরীক্ষা করার মতো আমার কোনও উপায় নেই, কেবলমাত্র আমার কাছে মেশিনগুলির অ্যাক্সেস রয়েছে উবুন্টু চালিত লিনোড ভার্চুয়াল সার্ভার এবং আমার ম্যাকবুক স্নো লেপার্ড চালাচ্ছে (সম্ভবত আমার সার্ভারের মতো একই পিং প্রোগ্রামটি নেই)

তৃতীয় পরিস্থিতি থেকে রিটার্ন ভেরিয়েবল হিসাবে আমার কী আশা করা উচিত?

উত্তর:


1

আপনার কোডটি লিখতে আপনি কোন ভাষায় ব্যবহার করছেন তা না জেনে, আপনাকে নির্দিষ্ট করে দেওয়া কঠিন, তবে ফলাফলগুলি সম্পর্কে এখানে একটি ছোট্ট প্রাইমার।

ত্রুটি, stdout, stderr পরিবর্তনশীল হয় না, কিন্তু ইউনিক্স বাইনারি ফিরে আসতে পারে যে ধরণের আউটপুট।

stdout - এটি একটি প্রমিত পাঠ্য যা কোনও প্রোগ্রাম স্ক্রিনে আউটপুট দেয় (অনেক ক্ষেত্রে) বা ফাইল (যদি পুনঃনির্দেশিত হয়) বা অন্য কোনও প্রোগ্রাম, এটি ব্যবহার করে ক্যাপচার করা যায়

program > file

stderr - এটি এমন পাঠ্য যা ত্রুটি প্রবাহে আউটপুট হয়, একটি দ্বিতীয় আউটপুট যা স্টডআউট স্ট্রিমের কোনও পুনর্নির্দেশ দ্বারা ক্যাপচারিত হয় না। আপনি এটি ব্যবহার করে ক্যাপচার করতে পারেন

program 2> file

ত্রুটি - এটি প্রোগ্রামটি সম্পূর্ণ হওয়ার পরে ফিরে আসে। সাফল্যটি সাধারণত 0 দ্বারা নির্দেশিত হয় আপনি এটি ব্যবহার করে ক্যাপচার করতে পারেন

#!/bin/bash
program
echo $?

স্ট্যান্ডার্ড_স্ট্রিমের জন্য উইকিপিডিয়া পৃষ্ঠায় আপনি স্ট্রিম সম্পর্কে আরও জানতে পারেন । ব্যাশ ম্যানুয়ালটিতে ব্যাশগুলিতে ক্যাপচার স্ট্রিমগুলির ভাল ডকুমেন্টেশন রয়েছে ।


2
যাইহোক: আংশিক প্যাকেট ক্ষতি সহ সফল পিংসের ফিরতি মান হবে 0
স্টেফানো প্যালাজো

@ স্টেফানো প্যালাজো: আপনি কীভাবে জানেন? কোন পরীক্ষা থেকে, না ম্যান পেজ থেকে?
ক্যাস্পার গ্রুবে

@ স্টেফানোপালাজো কমান্ডটি ping -w 5 -c 4 8.8.8.8(এবং প্যাকেটের কিছুটা ড্রপ করে এমন একটি নেটওয়ার্ক ত্রুটিযুক্ত) দিয়ে আংশিক প্যাকেট ক্ষতির সাথে আমি আইফুটিস থেকে ডিফল্ট পিংয়ের সাথে 1 পেয়েছি ।
গিলস

@ গিলস @ ক্যাস্পার আমি ping -c 2 8.8.8.8নেটওয়ার্কটি অর্ধেক পেরিয়েছি এবং সংযোগ বিচ্ছিন্ন করেছি । এটি ফলাফল (বিট যা এখনও আমার ক্লিপবোর্ডে ছিল)। আহ, সম্ভবত এটির সাথে কোন পিংস ব্যর্থ হয়েছে? (অর্থাত্ প্রথমটি বনাম সর্বশেষে?)
স্টেফানো প্যালাজো

1
পিং 0 টি প্রদান করে যদি হোস্টটি কমপক্ষে একবার যোগাযোগযোগ্য হয়, তবে 1 না এবং অন্যান্য সমস্ত ত্রুটির জন্য 2 যদি আপনি সময়সীমা নির্ধারণ না করেন -w|-Wএবং -cপ্রেরিত সমস্ত প্যাকেট সময়সীমার মধ্যে কোনও প্রতিক্রিয়া না পেয়ে থাকে তবে যদি এটি 1 প্রদান করে তবে প্রেরণ করা হয় না।
ব্যবহারকারী 619714

2

লিনাক্সে এমনকি উবুন্টুতেও বেশ কয়েকটি পিং ইউটিলিটি উপলব্ধ। ডিফল্ট এক (উবুন্টু মূল একমাত্র) iputils ( iputils-ping) থেকে। Iputils 20100418 হিসাবে সম্ভাব্য রিটার্ন স্ট্যাটাসগুলি (উভয়ই pingবা সঙ্গী IPv6 ইউটিলিটির জন্য ping6) হ'ল:

  • 0 আপনি যদি -Vবিকল্পটি পাস করেন ।
  • 255 যদি pingসুবিধাগুলি বাদ দিতে না পারে (এটি হওয়া উচিত নয়)।
  • 1 সাবজেক্টের নামটি পার্স করার সময় যদি কোনও ত্রুটি ঘটে ping6 -N
  • হয় স্বাভাবিক প্রস্থানের ক্ষেত্রে 0 বা 1:
    • 1 যদি কোন উত্তর পাওয়া যায় নি।
    • 1 আপনি যদি বিকল্প -wবা -Wবিকল্পের সাথে একটি সময়সীমা স্থির করেন এবং প্রাপ্ত উত্তরগুলির সংখ্যা প্রেরিত অনুরোধের সংখ্যার চেয়ে কম ছিল।
    • 0 অন্যথায়, যেমন যদি একটি সময়সীমা থাকে এবং সমস্ত প্রত্যাশিত উত্তর পাওয়া গিয়েছিল, বা যদি কোনও সময়সীমা না থাকে এবং কমপক্ষে একটি উত্তর পাওয়া যায়।
  • অন্যান্য সমস্ত ক্ষেত্রে 2।

আপনার যদি আরও ভাল পার্থক্য করতে হয় তবে আপনাকে আউটপুটটি বিশ্লেষণ করতে হবে। ইউটিলিটি মারাত্মক ত্রুটি এবং কিছু সতর্কতাগুলির জন্য স্ট্যাডার ব্যবহার করে এবং বিভিন্ন স্ট্যাটাস রিপোর্ট এবং তথ্য সম্পর্কিত বার্তাগুলির জন্য স্টাডআউট। এই বার্তাগুলি মানুষের ব্যবহার জন্য বোঝানো হয়, তাই একটি সহজ সময় তাদের পার্স আছে আশা করবেন না, আপনার পার্সার প্রত্যেক সময় একটি সংস্করণ আসে আউট আপডেট আছে আশা বা আপনি কি অন্য কিছু প্ল্যাটফর্মের উপর কাজ করে এবং সেট করতে মনে রাখতে চান LC_MESSAGES=Cক্ষেত্রে পিং কখনও অনুবাদ করা হয় (এটি বর্তমানে নেই)। খুব কম ব্যবহারের কেস রয়েছে যার জন্য আউটপুট পার্সিং করা দরকার - সাধারণত আপনার যা যা জানা দরকার তা হ'ল 2 = ডিএনএস লুকআপ ব্যর্থ হয়েছে, 1 = হোস্ট সাড়া দিচ্ছে না, 0 = সাফল্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.