প্যাকেট ক্যাপচার করা একটি নেটওয়ার্কের অভ্যন্তরীণ কাজ বিশ্লেষণ করার একটি খুব দরকারী উপায়। এই উদ্দেশ্যে বিকশিত বিভিন্ন সরঞ্জাম উপলব্ধ রয়েছে। তাদের মধ্যে একটি হল tcpdump। এখানে আমরা আপনাকে দেখাব কিভাবে নেটওয়ার্ক ইঞ্জিনিয়ার এবং পেনিট্রেশন টেস্টারদের জন্য এই দুর্দান্ত টুলটির সর্বোত্তম ব্যবহার করতে হয়৷
tcpdump কি?
tcpdump হল একটি নেটওয়ার্ক প্যাকেট বিশ্লেষক টুল যা 1988 সালে লরেন্স বার্কলে ল্যাবরেটরি এবং এর নেটওয়ার্ক রিসার্চ গ্রুপে কর্মরত কম্পিউটার বিজ্ঞানীদের একটি দল দ্বারা তৈরি এবং প্রকাশ করা হয়েছিল। এটি প্যাকেটের বিষয়বস্তু প্রদর্শন করতে ব্যবহৃত হয় যা একটি কম্পিউটার পাঠায় এবং গ্রহণ করে। প্যাকেট ক্যাপচারকে আরও নির্দিষ্ট এবং ফোকাস করার জন্য ইউটিলিটি বিভিন্ন বিকল্পের সাথে আসে। এই বিকল্পগুলির মধ্যে কয়েকটির মধ্যে রয়েছে বিভিন্ন নেটওয়ার্কিং প্রোটোকল এবং নেটওয়ার্ক ইন্টারফেস৷
ইনস্টলেশন
অনেক লিনাক্স ডিস্ট্রিবিউশন সরাসরি বাক্সের বাইরে ইনস্টল করা ইউটিলিটি নিয়ে আসে। যাইহোক, যদি আপনার পছন্দের ডিস্ট্রো না হয়, ইনস্টলেশন ভাগ্যক্রমে দ্রুত এবং সহজ৷
৷
আপনি যদি উবুন্টু বা ডেবিয়ান ব্যবহার করেন, উদাহরণস্বরূপ, এটি apt
ব্যবহার করে ইনস্টল করা যেতে পারে :
sudo apt install tcpdump
CentOS এ, yum
ব্যবহার করে একই কাজ করা হয় :
sudo yum install tcpdump
এবং আর্চ লিনাক্সে pacman
ব্যবহার করে :
sudo pacman -S tcpdump
The Basics
৷
tcpdump ইনস্টল করার সাথে, আপনি -h
ব্যবহার করে ম্যানুয়ালটি দেখতে পারেন পতাকা:
tcpdump -h
এই টুলটি ব্যবহার করার সময় আপনি যে পতাকাগুলি ব্যবহার করতে পারেন তার একটি তালিকা দেখায়৷
৷
আপনি যদি আরও বিস্তৃত এবং বিস্তারিত ম্যানুয়াল দেখতে চান, আপনি man
ব্যবহার করে ম্যান পেজ (ম্যানুয়াল পৃষ্ঠা) দেখতে পারেন। কমান্ড:
man tcpdump
আপনি টাইপ করে একটি মৌলিক প্যাকেট ক্যাপচার চালাতে পারেন:
tcpdump
নিজে থেকে কমান্ড ব্যবহার করে এবং একটি নেটওয়ার্ক ইন্টারফেস নির্দিষ্ট না করে, টুলটি আপনার সিস্টেমে উপলব্ধ ইন্টারফেসের মধ্যে একটি বেছে নেবে।
আপনি যদি tcpdump হোস্টনামগুলি সমাধান করতে না চান এবং পরিবর্তে এটি শুধুমাত্র আইপি ঠিকানাগুলি আউটপুট করতে চান তবে আপনি -n
ব্যবহার করতে পারেন পতাকা:
tcpdump -n
আপনি ক্যাপচার করতে চান এমন প্যাকেটের সংখ্যা নির্দিষ্ট করতে চাইলে -c
ব্যবহার করুন পতাকা:
tcpdump -c [number of packets]
একটি নেটওয়ার্ক ইন্টারফেস নির্দিষ্ট করা
আপনি -i
ব্যবহার করে আপনার পছন্দের নেটওয়ার্ক ইন্টারফেস নির্দিষ্ট করতে পারেন পতাকা:
tcpdump -i [interface]
বেশিরভাগ সিস্টেমে দুটি সাধারণ নেটওয়ার্ক ইন্টারফেসের নাম হল eth0 এবং wlan0:
tcpdump -i eth0 tcpdump -i wlan0
আপনি যদি সমস্ত ইন্টারফেসে ডেটা ক্যাপচার করতে চান, আপনি any
ব্যবহার করতে পারেন বিকল্প:
tcpdump -i any
একটি পোর্ট/পোর্ট রেঞ্জ নির্দিষ্ট করা
আপনি যদি শুধুমাত্র একটি নির্দিষ্ট পোর্ট নম্বর ব্যবহার করে এমন ডেটা ক্যাপচার করতে চান, তাহলে কমান্ডটি ব্যবহার করুন:
tcpdump -i [interface] port [port number]
ধরা যাক আপনি eth0
-এ ট্রাফিক ক্যাপচার করতে চান ইন্টারফেস এবং পোর্ট 443 (HTTPS) এর জন্য। নিম্নলিখিত টাইপ করুন:
tcpdump -i eth0 port 443
অতিরিক্তভাবে, tcpdump আপনাকে পোর্টের একটি পরিসীমা নির্দিষ্ট করতে দেয়:
tcpdump -i [interface] portrange [port range]
একটি হোস্ট বা সাবনেট নির্দিষ্ট করা
এমন সময় থাকবে যেখানে আপনি ক্যাপচার করা প্যাকেটগুলিকে শুধুমাত্র একটি নির্দিষ্ট হোস্ট বা সাবনেট থেকে পাঠানো/প্রাপ্তদের মধ্যে সীমাবদ্ধ রাখতে চান। ভাগ্যক্রমে, tcpdump আপনাকে তা করতে দেয়।
আপনি নিম্নলিখিত বিন্যাসটি ব্যবহার করে একটি হোস্ট নির্দিষ্ট করতে পারেন:
tcpdump -i [interface] host [host]
উদাহরণ হিসাবে, eth0 ইন্টারফেসে ট্র্যাফিক ক্যাপচার করুন এবং হোস্টটিকে 127.0.0.1 (আপনার নিজস্ব লুপব্যাক আইপি ঠিকানা):
tcpdump -i eth0 host 127.0.0.1
আপনি যদি CIDR স্বরলিপি ব্যবহার করে একটি নেটওয়ার্ক সাবনেট নির্দিষ্ট করতে চান তবে আপনি নিম্নলিখিত বিন্যাসটি ব্যবহার করতে পারেন:
tcpdump -i [interface] net [subnet]
যেমন:
tcpdump -i eth0 net 10.0.0.0/8
এছাড়াও আপনি সরাসরি একটি উৎস হোস্ট নির্দিষ্ট করতে পারেন:
tcpdump -i [interface] src [host]
এবং একটি গন্তব্য হোস্ট:
tcpdump -i [interface] dst [host]
ভার্বোসিটি নির্দিষ্ট করা
tcpdump আপনাকে প্যাকেট ক্যাপচারের ভার্বোসিটি নির্দিষ্ট করতে দেয়। যখন আপনি একটি ক্যাপচারের সময় তথ্যের পরিমাণে অভিভূত হতে চান না তখন এটি খুবই কার্যকর৷
ভার্বোসিটির জন্য তিনটি ক্রমবর্ধমান বিকল্প রয়েছে, পতাকা -v
, -vv
এবং -vvv
:
tcpdump -i [interface] -v tcpdump -i [interface] -vv tcpdump -i [interface] -vvv
প্রথম বিকল্পটি সর্বনিম্ন শব্দার্থ নির্দিষ্ট করে, যখন তৃতীয় বিকল্পটি সর্বাধিক নির্দিষ্ট করে৷
একটি ফাইলে ক্যাপচার সংরক্ষণ করা হচ্ছে
এটি একটি ফাইলে ক্যাপচার করা ডেটা সংরক্ষণ করা প্রায়ই দরকারী, তাই এটি আরও বিশ্লেষণ এবং ব্যাখ্যা করা যেতে পারে।
এটি -w
ব্যবহার করে করা হয় পতাকা:
tcpdump -i [interface] -w [filename]
উদাহরণ স্বরূপ, আপনি ক্যাপচার করা ডেটা “capture.txt” নামে একটি ফাইলে সংরক্ষণ করতে পারেন:
tcpdump -i eth0 -w capture.txt
প্রায়শই জিজ্ঞাসিত প্রশ্ন
1. আমি একটি "অপারেশন অনুমোদিত নয়" ত্রুটি পেয়েছি৷ আমি কিভাবে এটি সমাধান করব?
নিম্নলিখিত একটি সাধারণ ত্রুটি ব্যবহারকারীরা tcpdump ব্যবহার করার চেষ্টা করার সময় পেতে পারে:
প্যাকেট ক্যাপচার করার জন্য আপনার কাছে প্রয়োজনীয় অনুমতি না থাকলে tcpdump আপনাকে এই ত্রুটিটি দেয়। বেশিরভাগ পরিস্থিতিতে, আপনি sudo
ব্যবহার করে এটি সমাধান করতে পারেন . যেমন:
sudo tcpdump -i eth0
2. কোন নেটওয়ার্ক ইন্টারফেস উপলব্ধ আমি কিভাবে জানব?
tcpdump এর একটি অন্তর্নির্মিত কার্যকারিতা রয়েছে যা আপনাকে আপনার সিস্টেমে উপলব্ধ নেটওয়ার্ক ইন্টারফেসগুলি পরীক্ষা করতে দেয়৷
ইন্টারফেস চেক করতে, -D
ব্যবহার করুন পতাকা:
tcpdump -D