Tcpdump এবং 6 টি উদাহরণ কীভাবে ব্যবহার করবেন

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

এই নিবন্ধে, আমরা tcpdump কমান্ডটি বিস্তারিতভাবে আপনার লিনাক্স সিস্টেমে tcpdump ইনস্টল ও ব্যবহার করতে পারি তার জন্য কয়েকটি গাইডের সাথে আলোচনা করব।

Tcpdump কমান্ড কি?

Tcpdump একটি শক্তিশালী নেটওয়ার্ক মনিটরিং সরঞ্জাম যা কোনও ব্যবহারকারীকে কোনও নেটওয়ার্কে প্যাকেট এবং ট্র্যাফিককে দক্ষতার সাথে ফিল্টার করতে দেয়। আপনি টিসিপি / আইপি এবং আপনার নেটওয়ার্কে সংক্রমণিত প্যাকেট সম্পর্কিত বিশদ তথ্য পেতে পারেন। Tcpdump একটি কমান্ড-লাইন ইউটিলিটি, যার অর্থ আপনি এটি প্রদর্শন ছাড়াই লিনাক্স সার্ভারে চালাতে পারবেন run

লগিংয়ের মতো বিভিন্ন কার্য স্বয়ংক্রিয় করতে সিস্টেম অ্যাডমিনিস্ট্রেটররা ক্রোন দিয়ে tcpdump ইউটিলিটি সংহত করতে পারেন। যেহেতু এর অসংখ্য বৈশিষ্ট্যগুলি এটিকে বেশ বহুমুখী করে তোলে, তাই tcpdump সমস্যা সমাধানের পাশাপাশি সুরক্ষা সরঞ্জাম হিসাবে কাজ করে।

কীভাবে লিনাক্সে tcpdump ইনস্টল করবেন

আপনার সিস্টেমে বেশিরভাগ সময় tcpdump দেখতে পাবেন, কিছু লিনাক্স ডিস্ট্রিবিউশন প্যাকেজ সহ পাঠায় না। সুতরাং, আপনাকে নিজের সিস্টেমে ম্যানুয়ালি ইউটিলিটি ইনস্টল করতে হতে পারে।

কোন কমান্ড ব্যবহার করে আপনার সিস্টেমে tcpdump ইনস্টল করা হয়েছে তা পরীক্ষা করতে পারেন।

 which tcpdump

যদি আউটপুটটি ডিরেক্টরি পথ ( / usr / bin / tcpdump ) প্রদর্শন করে তবে আপনার সিস্টেমে প্যাকেজ ইনস্টল করা আছে। তবে তা না হলে আপনি নিজের সিস্টেমে ডিফল্ট প্যাকেজ ম্যানেজারটি ব্যবহার করে এটি সহজেই করতে পারেন।

উবুন্টুর মতো ডেবিয়ান-ভিত্তিক বিতরণগুলিতে tcpdump ইনস্টল করতে:

 sudo apt-get install tcpdump

CentOS এ tcpdump ইনস্টল করাও সহজ।

 sudo yum install tcpdump

খিলান ভিত্তিক বিতরণগুলিতে:

 sudo pacman -S tcpdump

ফেডোরায় ইনস্টল করতে:

 sudo dnf install tcpdump

মনে রাখবেন যে tcpdump প্যাকেজটির নির্ভরতা হিসাবে libcap প্রয়োজন, সুতরাং আপনার সিস্টেমেও এটি ইনস্টল করা আছে তা নিশ্চিত করুন।

Tcpdump উদাহরণ লিনাক্সে নেটওয়ার্ক প্যাকেট ক্যাপচার করার জন্য

এখন আপনি আপনার লিনাক্স মেশিনে সফলভাবে tcpdump ইনস্টল করেছেন, কিছু প্যাকেট পর্যবেক্ষণ করার সময় এসেছে। যেহেতু tcpdump বেশিরভাগ ক্রিয়াকলাপ চালানোর জন্য সুপারসুমারের অনুমতি প্রয়োজন, তাই আপনাকে আপনার কমান্ডগুলিতে sudo যুক্ত করতে হবে।

1. সমস্ত নেটওয়ার্ক ইন্টারফেস তালিকা

কোন নেটওয়ার্ক ইন্টারফেস ক্যাপচার করার জন্য উপলব্ধ তা পরীক্ষা করতে, tcpdump কমান্ড সহ -D পতাকা ব্যবহার করুন।

 tcpdump -D

আর্গুমেন্ট হিসাবে – তালিকা-ইন্টারফেসের পতাকাটি পাস করলে একই আউটপুট ফিরে আসবে।

 tcpdump --list-interfaces

আউটপুটটি আপনার সিস্টেমে উপস্থিত সমস্ত নেটওয়ার্ক ইন্টারফেসের একটি তালিকা হবে।

নেটওয়ার্ক ইন্টারফেসের তালিকা পাওয়ার পরে, আপনার সিস্টেমে প্যাকেটগুলি ক্যাপচার করে আপনার নেটওয়ার্কটি পর্যবেক্ষণ করার সময় এসেছে। যদিও আপনি কোন ইন্টারফেসটি ব্যবহার করতে চান তা নির্দিষ্ট করতে পারেন, যে কোনও যুক্তি কোনও সক্রিয় ইন্টারফেস ব্যবহার করে নেটওয়ার্ক প্যাকেটগুলি ক্যাপচার করতে tcpdump নির্দেশ করে।

 tcpdump --interface any

সিস্টেমটি নিম্নলিখিত আউটপুট প্রদর্শন করবে।

সম্পর্কিত: ওপেন সিস্টেমগুলি আন্তঃসংযোগ মডেল কী?

2. tcpdump আউটপুট ফর্ম্যাট

তৃতীয় লাইন থেকে শুরু করে আউটপুট প্রতিটি লাইন tcpdump দ্বারা ক্যাপচার করা একটি নির্দিষ্ট প্যাকেট বোঝায়। একক প্যাকেটের আউটপুট কেমন দেখাচ্ছে তা এখানে।

 17:00:25.369138 wlp0s20f3 Out IP localsystem.40310 > kul01s10-in-f46.1e100.net.https: Flags [P.], seq 196:568, ack 1, win 309, options [nop,nop,TS val 117964079 ecr 816509256], length 33

মনে রাখবেন যে সমস্ত প্যাকেটগুলি এভাবে ক্যাপচার করা হয় না, তবে এটি বেশিরভাগের পরে সাধারণ ফর্ম্যাট।

আউটপুটটিতে নিম্নলিখিত তথ্য রয়েছে।

  1. প্রাপ্ত প্যাকেটের টাইমস্ট্যাম্প
  2. ইন্টারফেস নাম
  3. প্যাকেট প্রবাহ
  4. নেটওয়ার্ক প্রোটোকলের নাম
  5. আইপি ঠিকানা এবং পোর্ট বিশদ
  6. টিসিপি পতাকা
  7. প্যাকেটে তথ্যের ক্রম সংখ্যা
  8. অ্যাক ডেটা
  9. উইন্ডো আকার
  10. প্যাকেটের দৈর্ঘ্য

প্রথম সিস্টেম ( 17: 00: 25.369138 ) আপনার সিস্টেম প্যাকেট প্রেরণ বা গ্রহণ করার সময় টাইম স্ট্যাম্প প্রদর্শন করে। রেকর্ড করা সময়টি আপনার সিস্টেমের স্থানীয় সময় থেকে নেওয়া হয়।

দ্বিতীয় এবং তৃতীয় ক্ষেত্রগুলি ব্যবহৃত ইন্টারফেস এবং প্যাকেটের প্রবাহকে বোঝায়। উপরের স্নিপেটে, wlp0s20f3 ওয়্যারলেস ইন্টারফেসের নাম এবং আউট প্যাকেট প্রবাহ Out

চতুর্থ ক্ষেত্রে নেটওয়ার্ক প্রোটোকল নাম সম্পর্কিত তথ্য অন্তর্ভুক্ত। সাধারণত, আপনি দুটি প্রোটোকল পাবেন: আইপি এবং আইপি 6 , যেখানে আইপি আইভিভি 4 এবং আইপি 6 আইপিভি 6 এর জন্য চিহ্নিত করে।

পরবর্তী ক্ষেত্রে আইপি ঠিকানা বা উত্স এবং গন্তব্য সিস্টেমের নাম রয়েছে। আইপি ঠিকানাগুলি পোর্ট নম্বর অনুসরণ করে by

আউটপুটে ষষ্ঠ ক্ষেত্রটি টিসিপি পতাকা নিয়ে গঠিত। Tcpdump আউটপুটে বিভিন্ন পতাকা হয়।

পতাকা নাম মান বর্ণনা
এসওয়াইএন এস সংযোগ শুরু হয়েছে
ফাইন এফ সংযোগ শেষ হয়েছে
পুশ পি তথ্য ঠেলাঠেলি করা হয়
আরএসটি আর সংযোগটি পুনরায় সেট করা হয়েছে
এসি স্বীকৃতি

আউটপুটটিতে বেশ কয়েকটি টিসিপি ফ্ল্যাগের সংমিশ্রণও থাকতে পারে। উদাহরণস্বরূপ, FLAG [f।] এর অর্থ একটি FIN-ACK প্যাকেট।

আউটপুট স্নিপেটে আরও সরানো, পরবর্তী ক্ষেত্রটিতে প্যাকেটে থাকা ডেটাগুলির সিকোয়েন্স নম্বর ( সেক 196: 568 ) রয়েছে। প্রথম প্যাকেটটিতে সর্বদা ধনাত্মক পূর্ণসংখ্যার মান থাকে এবং পরবর্তী প্যাকেটগুলি তথ্যের প্রবাহকে উন্নত করতে আপেক্ষিক সিকোয়েন্স নম্বর ব্যবহার করে।

পরবর্তী ক্ষেত্রটি স্বীকৃতি নম্বর ( ack 1 ), বা সাধারণ এ্যাক নম্বর ধারণ করে। প্রেরকের মেশিনে বন্দী প্যাকেটের স্বীকৃতি নম্বর হিসাবে 1 টি রয়েছে। রিসিভারের শেষে, অ্যাক নম্বরটি পরবর্তী প্যাকেটের মান।

আউটপুটে নবম ক্ষেত্রটি উইন্ডোর আকারের সাথে সামঞ্জস্য করে ( জয় 309 ), যা প্রাপ্ত বাফারে উপলব্ধ বাইটের সংখ্যা। সর্বাধিক বিভাগের আকার (এমএসএস) সহ উইন্ডো আকার অনুসরণ করে এমন আরও বেশ কয়েকটি ক্ষেত্র রয়েছে।

শেষ ক্ষেত্রের ( দৈর্ঘ্য 33 ) টিসিপিডম্পের দ্বারা ক্যাপচার করা সামগ্রিক প্যাকেটের দৈর্ঘ্য রয়েছে।

৩. বন্দী প্যাকেটের গণনা সীমাবদ্ধ করুন

প্রথমবার tcpdump কমান্ড চালানোর সময়, আপনি লক্ষ্য করতে পারেন যে সিস্টেমটি একটি বিঘ্নিত সংকেত পাস না করা অবধি নেটওয়ার্ক প্যাকেটগুলি ক্যাপচার করতে থাকবে। আপনি -c পতাকা ব্যবহার করে পূর্বে ক্যাপচার করতে চান এমন প্যাকেটের সংখ্যা নির্দিষ্ট করে আপনি এই ডিফল্ট আচরণটি ওভাররাইড করতে পারেন।

 tcpdump --interface any -c 10

পূর্বোক্ত আদেশটি যে কোনও সক্রিয় নেটওয়ার্ক ইন্টারফেস থেকে দশটি প্যাকেট ক্যাপচার করবে।

4. ফিল্ডের উপর ভিত্তি করে ফিল্টার প্যাকেট

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

কেবলমাত্র টিসিপি প্যাকেটগুলি ক্যাপচার করতে, টাইপ করুন:

 tcpdump --interface any -c 5 tcp

একইভাবে, আপনি যদি পোর্ট নম্বর ব্যবহার করে আউটপুট ফিল্টার করতে চান:

 tcpdump --interface any -c 5 port 50

উপরে উল্লিখিত কমান্ডটি নির্দিষ্ট পোর্টের মাধ্যমে প্রেরিত প্যাকেটগুলি পুনরুদ্ধার করবে।

নির্দিষ্ট হোস্টের জন্য প্যাকেটের বিশদ পেতে:

 tcpdump --interface any -c 5 host 112.123.13.145

আপনি যদি কোনও নির্দিষ্ট হোস্ট দ্বারা প্রেরিত বা প্রাপ্ত প্যাকেটগুলি ফিল্টার করতে চান তবে কমান্ডের সাথে src বা dst টি যুক্তি ব্যবহার করুন।

 tcpdump --interface any -c 5 src 112.123.13.145
tcpdump --interface any -c 5 dst 112.123.13.145

আপনি লজিকাল অপারেটরগুলি এবং এবং বা দুটি বা আরও বেশি এক্সপ্রেশনকে একত্রিত করতেও ব্যবহার করতে পারেন। উদাহরণস্বরূপ, উত্স আইপি 112.123.13.145 এর অন্তর্ভুক্ত এমন প্যাকেটগুলি পেতে এবং 80 পোর্টটি ব্যবহার করুন:

 tcpdump --interface any -c 10 src 112.123.13.145 and port 80

জটিল এক্সপ্রেশনগুলি নিম্নলিখিতভাবে বন্ধনী ব্যবহার করে একত্রে গোষ্ঠীভুক্ত করা যেতে পারে:

 tcpdump --interface any -c 10 "(src 112.123.13.145 or src 234.231.23.234) and (port 45 or port 80)"

৫. প্যাকেটের সামগ্রী দেখুন

নেটওয়ার্ক প্যাকেটের বিষয়বস্তু বিশ্লেষণ করতে আপনি tcpdump কমান্ড সহ -A এবং -x পতাকা ব্যবহার করতে পারেন। -এ পতাকাটি ASCII ফর্ম্যাটটির জন্য দাঁড়ায় এবং -x হেক্সাডেসিমাল ফর্ম্যাটটিকে বোঝায়।

সিস্টেম দ্বারা ক্যাপচার করা পরবর্তী নেটওয়ার্ক প্যাকেটের সামগ্রী দেখতে:

 tcpdump --interface any -c 1 -A
tcpdump --interface any -c 1 -x

সম্পর্কিত: প্যাকেট হ্রাস কী এবং এর কারণ কীভাবে ঠিক করা যায়?

Capt. একটি ফাইলের ক্যাপচার ডেটা সংরক্ষণ করুন

আপনি যদি রেফারেন্সের উদ্দেশ্যে ক্যাপচার ডেটা সংরক্ষণ করতে চান তবে আপনাকে সাহায্য করার জন্য tcpdump রয়েছে। স্ক্রিনে প্রদর্শনের পরিবর্তে কোনও ফাইলের আউটপুট লেখার জন্য ডিফল্ট কমান্ডের সাহায্যে -w পতাকাটি পাস করুন।

 tcpdump --interface any -c 10 -w data.pcap

.Pcap ফাইল এক্সটেনশনের অর্থ প্যাকেট ক্যাপচার ডেটা। আপনি -v পতাকা ব্যবহার করে ভার্বোস মোডে পূর্বোক্ত কমান্ডটিও জারি করতে পারেন।

 tcpdump --interface any -c 10 -w data.pcap -v

Tcpdump ব্যবহার করে একটি .pcap ফাইল পড়তে, ফাইলের পথ অনুসরণ করে -r পতাকা ব্যবহার করুন। -আর পড়ুন stands

 tcpdump -r data.pcap

আপনি ফাইলটিতে সংরক্ষিত প্যাকেট ডেটা থেকে নেটওয়ার্ক প্যাকেটগুলিও ফিল্টার করতে পারেন।

 tcpdump -r data.pcap port 80

লিনাক্সে নেটওয়ার্ক ট্র্যাফিক নিরীক্ষণ

যদি আপনাকে লিনাক্স সার্ভার পরিচালনার দায়িত্ব অর্পণ করা হয় তবে tcpdump কমান্ডটি আপনার অস্ত্রাগারে অন্তর্ভুক্ত করার জন্য একটি দুর্দান্ত সরঞ্জাম। রিয়েল-টাইমে আপনার নেটওয়ার্কে প্রেরণ করা প্যাকেটগুলি ক্যাপচার করে আপনি সহজেই নেটওয়ার্ক-সম্পর্কিত সমস্যাগুলি সমাধান করতে পারেন।

তবে এই সমস্ত কিছুর আগে আপনার ডিভাইসটি অবশ্যই ইন্টারনেটের সাথে সংযুক্ত থাকতে হবে। লিনাক্স শুরুর জন্য, এমনকি কমান্ড লাইনের মাধ্যমে ওয়াই-ফাইয়ের সাথে সংযোগ স্থাপন করা কিছুটা চ্যালেঞ্জিং হতে পারে। তবে আপনি যদি সঠিক সরঞ্জামগুলি ব্যবহার করেন তবে এটি একটি স্ন্যাপ।