কম্পিউটার

লিনাক্সের জন্য ট্রেসারউট কমান্ড

কি জানতে হবে

  • ট্রেসরোট কমান্ডের সাথে আপনাকে অবশ্যই যে প্যারামিটারটি অন্তর্ভুক্ত করতে হবে তা হল গন্তব্যের হোস্ট নাম বা আইপি ঠিকানা।
  • একটির TTL দিয়ে প্রোব শুরু করুন এবং যতক্ষণ না আপনি একটি ICMP "পোর্ট আনরিচেবল" না পান বা চেষ্টার সর্বোচ্চ মান না পান ততক্ষণ পর্যন্ত একটি বৃদ্ধি করুন।

এই নিবন্ধটি লিনাক্স মেশিনে প্রযোজ্য ট্রেসাররুট তথ্য কভার করে এবং এতে কমান্ড সুইচ ব্যাখ্যা এবং ফলাফলগুলি কীভাবে ব্যাখ্যা করা যায় সে সম্পর্কে তথ্য অন্তর্ভুক্ত রয়েছে। Windows এ Traceroute ভিন্নভাবে ব্যবহৃত হয়।

কিভাবে Traceroute কাজ করে

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

যেহেতু রেকর্ডের প্রতিটি হপ একটি নতুন সার্ভার বা রাউটারকে উদ্ভূত পিসি এবং উদ্দিষ্ট লক্ষ্যের মধ্যে প্রতিফলিত করে, একটি ট্রেসারউট স্ক্যানের ফলাফল পর্যালোচনা করলে ধীরগতির পয়েন্টগুলি সনাক্ত করা যায় যা আপনার নেটওয়ার্ক ট্র্যাফিককে বিরূপভাবে প্রভাবিত করতে পারে৷

Traceroute দিয়ে সমস্যা সমাধান করা

নেটওয়ার্ক ট্র্যাফিক যে নির্দিষ্ট রুট অনুসরণ করে তার মূল্যায়ন করা (বা আপনার প্যাকেটগুলি বাতিল করে এমন ভুল গেটওয়ে খুঁজে পাওয়া) বেশ কয়েকটি সমস্যা সমাধানের চ্যালেঞ্জ উপস্থাপন করে। Traceroute IP প্রোটোকল লাইভ করার সময় ব্যবহার করে একটি গন্তব্য হোস্টের পথ বরাবর প্রতিটি গেটওয়ে থেকে একটি ICMP TIME_EXCEEDED প্রতিক্রিয়া চাওয়ার জন্য ক্ষেত্র৷

আপনি যখন ট্রেসারউট কমান্ডটি চালান তখন আপনাকে অবশ্যই যে প্যারামিটারটি অন্তর্ভুক্ত করতে হবে তা হল হোস্টের নাম বা গন্তব্যের আইপি ঠিকানা৷

Traceroute সিনট্যাক্স এবং সুইচগুলি

লিনাক্সের জন্য ট্রেসারউট কমান্ড

Traceroute নিম্নলিখিত সাধারণ সিনট্যাক্স অনুসরণ করে:

traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g gateway ] [ -i iface ] [ -m max_ttl ] [ -p port ] [ -q nqueries ] [ -s src_addr ] [ -t tos ] [ -w waittime ] [ -z pausemsecs ] host [ packetlen ]  

আপনি এক বা একাধিক ঐচ্ছিক সুইচ উল্লেখ করে কমান্ডের কর্মক্ষমতা বা আউটপুট পরিবর্তন করতে পারেন।

ট্রেসরুট কমান্ড সুইচগুলি সুইচ করুন ব্যাখ্যা -f প্রথম আউটগোয়িং প্রোব প্যাকেটে ব্যবহৃত প্রারম্ভিক সময়-টু-লাইভ সেট করুন।-F "ডোন্ট ফ্র্যাগমেন্ট" বিট সেট করুন।-d সকেট স্তরের ডিবাগিং সক্ষম করুন৷-g৷ একটি আলগা উৎস রুট গেটওয়ে নির্দিষ্ট করুন (সর্বোচ্চ ৮টি)।-i বহির্গামী প্রোব প্যাকেটের জন্য উৎস IP ঠিকানা প্রাপ্ত করার জন্য একটি নেটওয়ার্ক ইন্টারফেস উল্লেখ করুন। এটি সাধারণত শুধুমাত্র একটি মাল্টি-হোমড হোস্টে উপযোগী। (-s দেখুন এটি করার অন্য উপায়ের জন্য পতাকা।)-I UDP ডেটাগ্রামের পরিবর্তে ICMP ECHO ব্যবহার করুন।-m আউটগোয়িং প্রোব প্যাকেটে ব্যবহৃত সর্বোচ্চ টাইম-টু-লাইভ (সর্বোচ্চ সংখ্যা) সেট করুন। ডিফল্ট হল 30 হপস (TCP সংযোগের জন্য একই ডিফল্ট ব্যবহৃত হয়)।-n হপ ঠিকানাগুলিকে প্রতীকী এবং সংখ্যাগতভাবে না করে সংখ্যাগতভাবে মুদ্রণ করুন (পথে পাওয়া প্রতিটি গেটওয়ের জন্য একটি নেমসার্ভার ঠিকানা-টু-নাম সন্ধান সংরক্ষণ করে)।-p প্রোবে ব্যবহৃত বেস UDP পোর্ট নম্বর সেট করুন (ডিফল্ট হল 33434)। Traceroute আশা করে যে UDP পোর্ট বেস-এ কিছুই শোনা যাচ্ছে না থেকে বেস + nhops - 1 গন্তব্য হোস্টে (তাই একটি ICMP PORT_UNREACHABLE বার্তা ফেরত দেওয়া হবে রুট ট্রেসিং বন্ধ করতে)। যদি ডিফল্ট পরিসরে কোনো পোর্টে কিছু শোনা যায়, তাহলে এই বিকল্পটি একটি অব্যবহৃত পোর্ট পরিসর বেছে নিতে ব্যবহার করা যেতে পারে।-r সাধারণ রাউটিং টেবিল বাইপাস করুন এবং সংযুক্ত নেটওয়ার্কে সরাসরি হোস্টে পাঠান। হোস্ট সরাসরি সংযুক্ত নেটওয়ার্কে না থাকলে, একটি ত্রুটি ফেরত দেওয়া হয়। এই বিকল্পটি এমন একটি ইন্টারফেসের মাধ্যমে একটি স্থানীয় হোস্টকে পিং করতে ব্যবহার করা যেতে পারে যার মাধ্যমে কোনও রুট নেই (যেমন, ইন্টারফেসটি রাউটেড দ্বারা ড্রপ করার পরে (8C))।-s আউটগোয়িং প্রোব প্যাকেটগুলিতে উৎস ঠিকানা হিসাবে নিম্নলিখিত IP ঠিকানাটি ব্যবহার করুন (যা সাধারণত একটি IP নম্বর হিসাবে দেওয়া হয়, হোস্টনাম নয়)। মাল্টি-হোমড হোস্টে (যাদের একাধিক আইপি ঠিকানা রয়েছে), এই বিকল্পটি প্রোব প্যাকেটটি যে ইন্টারফেসের আইপি ঠিকানায় প্রেরিত হয়েছে তার থেকে উৎস ঠিকানাটিকে অন্য কিছু হতে বাধ্য করতে ব্যবহার করা যেতে পারে। যদি IP ঠিকানাটি এই মেশিনের ইন্টারফেস ঠিকানাগুলির মধ্যে একটি না হয় তবে একটি ত্রুটি ফেরত দেওয়া হয় এবং কিছুই পাঠানো হয় না। (-i দেখুন এটি করার অন্য উপায়ের জন্য পতাকা।)-t পরিষেবার প্রকার সেট করুন প্রোব প্যাকেটে নিম্নলিখিত মান (ডিফল্ট শূন্য)। মানটি অবশ্যই 0 থেকে 255 পরিসরের মধ্যে একটি দশমিক পূর্ণসংখ্যা হতে হবে। এই বিকল্পটি ব্যবহার করা যেতে পারে বিভিন্ন ধরনের-পরিষেবার বিভিন্ন পাথে ফলাফল কিনা তা দেখতে। (যদি আপনি 4.4bsd চালাচ্ছেন না, তাহলে এটি একাডেমিক হতে পারে, যেহেতু টেলনেট এবং এফটিপির মতো সাধারণ নেটওয়ার্ক পরিষেবাগুলি আপনাকে TOS নিয়ন্ত্রণ করতে দেয় না।) TOS-এর সমস্ত মান আইনী বা অর্থপূর্ণ নয়—সংজ্ঞাগুলির জন্য IP স্পেক দেখুন। দরকারী মান সম্ভবত `-t 16 ' (কম বিলম্ব) এবং `-t 8 ' (উচ্চ থ্রুপুট)।-v ভার্বোস আউটপুট। TIME_EXCEEDED এবং UNREACHABLE ব্যতীত প্রাপ্ত ICMP প্যাকেটগুলি তালিকাভুক্ত৷-w একটি প্রোবের প্রতিক্রিয়ার জন্য অপেক্ষা করার জন্য সময় (সেকেন্ডে) সেট করুন (ডিফল্ট 5 সেকেন্ড)।-x আইপি চেকসাম টগল করুন। সাধারণত, এটি আইপি চেকসাম গণনা করা থেকে ট্রেসারউটকে বাধা দেয়। কিছু ক্ষেত্রে, অপারেটিং সিস্টেম বহির্গামী প্যাকেটের অংশগুলি ওভাররাইট করতে পারে কিন্তু চেকসাম পুনরায় গণনা করতে পারে না; এইভাবে, কিছু ক্ষেত্রে ডিফল্ট হল চেকসাম গণনা না করা এবং -x ব্যবহার করে তাদের গণনা করা কারণ. মনে রাখবেন যে ICMP ECHO প্রোব ব্যবহার করার সময় চেকসামগুলি সাধারণত শেষ হপের জন্য প্রয়োজন হয় (-I ), তাই ICMP ব্যবহার করার সময় এগুলি সর্বদা গণনা করা হয়৷-z৷ প্রোবের মধ্যে বিরতির জন্য সময় (মিলিসেকেন্ডে) সেট করুন (ডিফল্ট 0)। কিছু সিস্টেম যেমন সোলারিস এবং সিস্কোর রাউটার, রেট লিমিট আইসিএমপি বার্তা। এটি ব্যবহার করার জন্য একটি ভাল মান হল 500 (যেমন, 1/2 সেকেন্ড)।

ফলাফল ব্যাখ্যা করা

Traceroute একটি ছোট TTL দিয়ে UDP প্রোব প্যাকেট চালু করে একটি আইপি প্যাকেট একটি ইন্টারনেট হোস্টে যে পথ অনুসরণ করে তার রূপরেখা দেয় তারপর একটি গেটওয়ে থেকে একটি ICMP "সময় অতিক্রম" উত্তর শোনার মাধ্যমে। একটি TTL দিয়ে প্রোবগুলি শুরু করুন এবং যতক্ষণ না আপনি একটি ICMP "পোর্ট আনরিচেবল" (যার অর্থ প্যাকেটটি তার গন্তব্যে পৌঁছেছে) না পাওয়া পর্যন্ত একটি বাড়ুন বা প্রচেষ্টার সর্বাধিক মান আঘাত করুন, যা ডিফল্ট 30 হপস এবং এর সাথে পরিবর্তন করা যেতে পারে। strong>-m পতাকা৷

যখন ট্রেসারউট কার্যকর হয়, এটি প্রতিটি TTL সেটিং এ তিনটি প্রোব পাঠায় এবং তারপর TTL, গেটওয়ের ঠিকানা এবং প্রতিটি প্রোবের রাউন্ড-ট্রিপ সময় দেখানো কনসোলে একটি লাইন প্রিন্ট করে। বিভিন্ন গেটওয়ে থেকে যদি অনুসন্ধানের উত্তর আসে, প্রতিটি প্রতিক্রিয়াশীল সিস্টেমের ঠিকানা প্রিন্ট করা হয়। যদি ট্রেসারউট পাঁচ সেকেন্ডের মধ্যে একটি প্রতিক্রিয়া না পায় (-w দিয়ে পরিবর্তিত হয় পতাকা), এটি সেই প্রোবের জন্য একটি তারকাচিহ্ন প্রিন্ট করে।

UDP প্রোব-প্যাকেট প্রসেসিং গন্তব্য হোস্টকে অপ্রতিরোধ্য হতে বাধা দিতে, traceroute গন্তব্য পোর্টকে এমন একটি মান সেট করে যা ডিভাইস ব্যবহার করার সম্ভাবনা নেই। যদি গন্তব্যে কোনো নেটওয়ার্ক বা পরিষেবা সেই পোর্ট ব্যবহার করে, তাহলে মান পরিবর্তন করুন -p পতাকা৷

Traceroute ফলাফলের উদাহরণ

একটি নমুনা ব্যবহার এবং আউটপুট এই উদাহরণের অনুরূপ ফলাফল প্রদান করবে:

[yak 71]% traceroute nis.nsf.net.
traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 38 byte packet
1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms
5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms
6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms
7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms
8 129.140.70.13 (129.140.70.13) 99 ms 99 ms 80 ms
9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms
10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms
11 nic.merit.edu (35.1.1.48) 239 ms 239 ms 239 ms

দ্বিতীয় এবং তৃতীয় লাইন একই। এই ফলাফলটি দ্বিতীয় হপ সিস্টেমের একটি বগি কার্নেলের সাথে সম্পর্কিত — lbl-csam.arpa — যা শূন্য TTL সহ প্যাকেটগুলিকে ফরোয়ার্ড করে (4.3 BSD এর বিতরণ করা সংস্করণে একটি বাগ)। আপনাকে অবশ্যই অনুমান করতে হবে যে প্যাকেটগুলি ক্রস-কান্ট্রি নিয়ে যাচ্ছে কারণ NSFNet (129.140) এর NSS-এর জন্য ঠিকানা-থেকে-নাম অনুবাদ সরবরাহ করে না৷

সাইলেন্ট গেটওয়ে উদাহরণ

একটি আরো আকর্ষণীয় উদাহরণ হল:

[yak 72]% traceroute allspice.lcs.mit.edu.
traceroute to allspice.lcs.mit.edu (18.26.0.115), 30 hops max
1 helios.ee.lbl। gov (128.3.112.1) 0 ms 0 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 19 ms 19 ms
3 lilac-dmc.Berkeley (283.U.EDU) 216.1) 39 ms 19 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 19 ms 39 ms 39 ms
5 ccn-nerif22.Berkeley.EDU.821) 20 ms 39 ms 39 ms
6 128.32.197.4 (128.32.197.4) 59 ms 119 ms 39 ms
7 131.119.2.5 (131.119.2.5 ms 131.119.2.5 ms /29 ms 2919 ms 297.4) .70.13 (129.140.70.13) 80 ms 79 ms 99 ms
9 129.140.71.6 (129.140.71.6) 139 ms 139 ms 159 ms
10.12019 ms 10.12019 ms (10.1281 ms) ms
11 129.140.72.17 (129.140.72.17) 300 ms 239 ms 239 ms
12 * *
13 128.121.54.72 (128.121.54.72 ms / 128.121.529 ms)
529 ms>14 * * *
15 * * *
16 * * *
17 * * *
18 ALLSPICE.LCS.MIT.EDU (18.26.0.115) 339 ms 279 ms 279 ms

মনে রাখবেন যে 12, 14, 15, 16, এবং 17 হপস দূরে গেটওয়েগুলি হয় ICMP "সময় অতিক্রান্ত" বার্তা পাঠায় না বা আমাদের কাছে পৌঁছাতে খুব ছোট TTL দিয়ে পাঠায় না। 14 থেকে 17 লাইনগুলি MIT C গেটওয়ে কোড চালাচ্ছে যা "সময় অতিক্রম" বার্তা পাঠায় না৷

উপরের উদাহরণে নীরব গেটওয়ে 12টি 4-এর একটি বাগ-এর ফলাফল হতে পারে। গেটওয়ের জন্য, অবশিষ্ট TTL শূন্য, ICMP "সময় অতিক্রম করেছে" গ্যারান্টি দেওয়া হয় যে এটি আমাদের কাছে ফিরে আসবে না৷

গন্তব্য সিস্টেম সাইলেন্ট গেটওয়ে উদাহরণ

যখন গন্তব্য সিস্টেমে এটি প্রদর্শিত হয় তখন এই বাগটির আচরণটি একটু বেশি আকর্ষণীয় হয়:

1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms
3 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 39 ms 19 ms
4 ccngw-ner-cc. Berkeley.EDU (128.32.136.23) 39 ms 40 ms / 19 ms 5 ms
nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms
6 csgw. Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms

* * *
9 * * *
10 * * *
11 * * *
12 * * *
13 rip.Berkeley.EDU (128.32.131.22) 59 এমএস! 39 এমএস! 39 ms !

লক্ষ্য করুন যে 12টি "গেটওয়ে" বিদ্যমান (13টি চূড়ান্ত গন্তব্য), এবং তাদের শেষ অর্ধেকটি অনুপস্থিত। আসলে কি ঘটছে যে সার্ভার নামক rip (একটি Sun-3 চলমান Sun OS 3.5) তার ICMP উত্তরে TTL হিসাবে আমাদের আগত ডেটাগ্রাম থেকে TTL ব্যবহার করছে। সুতরাং, প্রত্যাবর্তনের পথে উত্তরের সময় শেষ হয়ে যাবে (কাউকে কোন নোটিশ পাঠানো হবে না যেহেতু ICMP গুলি ICMP-এর জন্য পাঠানো হয় না) যতক্ষণ না আমরা একটি TTL দিয়ে তদন্ত করি যা পথের দৈর্ঘ্যের অন্তত দ্বিগুণ- অন্য কথায়, রিপ সত্যিই মাত্র সাত চলে যায়।

একটি উত্তর যা 1-এর TTL দিয়ে ফিরে আসে তা হল এই সমস্যাটি বিদ্যমান। Traceroute একটি প্রিন্ট! সময়ের পরে যদি TTL 1 এর থেকে কম বা সমান হয়। যেহেতু বিক্রেতারা প্রচুর অপ্রচলিত (DEC's Ultrix, Sun 3.x) বা নন-স্ট্যান্ডার্ড (HPUX) সফ্টওয়্যার পাঠায়, তাই এই সমস্যাটি ঘন ঘন দেখার আশা করুন এবং বাছাই করার ক্ষেত্রে যত্ন নিন। আপনার প্রোবের লক্ষ্য হোস্ট।

সময়ের পরে অন্যান্য সম্ভাব্য টীকা হল !H!N , অথবা !P (হোস্ট, নেটওয়ার্ক, বা প্রোটোকল পৌঁছানো যায় না), !S (উৎস রুট ব্যর্থ), !F- (ফ্র্যাগমেন্টেশন প্রয়োজন— RFC1191 পাথ MTU ডিসকভারি মান প্রদর্শিত হয়), !X (প্রশাসনিকভাবে যোগাযোগ নিষিদ্ধ), !V (হোস্ট অগ্রাধিকার লঙ্ঘন), !C (অগ্রাধিকার কাটঅফ কার্যকর), অথবা ! (ICMP নাগালযোগ্য কোড)। এই কোডগুলিকে RFC1812 দ্বারা সংজ্ঞায়িত করা হয়েছে, যা RFC1716কে ছাড়িয়ে যায়৷ যদি প্রায় সমস্ত প্রোবের ফলে কোনো নাগাল হোস্ট হয়, তাহলে ট্রেসারউট ছেড়ে দেবে এবং প্রস্থান করবে।

এই প্রোগ্রামটি নেটওয়ার্ক পরীক্ষা, পরিমাপ এবং পরিচালনায় ব্যবহারের উদ্দেশ্যে তৈরি করা হয়েছে। এটি প্রাথমিকভাবে ম্যানুয়াল ফল্ট আইসোলেশনের জন্য ব্যবহার করা উচিত। লোডের কারণে এটি নেটওয়ার্কে চাপিয়ে দিতে পারে, সাধারণ ক্রিয়াকলাপের সময় বা স্বয়ংক্রিয় স্ক্রিপ্ট থেকে ট্রেসারউট ব্যবহার করা বুদ্ধিমানের কাজ নয়৷


  1. লিনাক্সের জন্য কীভাবে একটি নতুন পিসি তৈরি করবেন

  2. লিনাক্স নতুনদের জন্য বেসিক ব্যাশ কমান্ড

  3. লিনাক্সের জন্য 4 টাইম মেশিনের বিকল্প

  4. নতুন ব্যবহারকারীদের জন্য সবচেয়ে দরকারী লিনাক্স কমান্ডের 6টি