কম্পিউটার টিউটোরিয়াল

tcpdump দিয়ে প্যাকেট ক্যাপচার কীভাবে ব্যবহার করবেন

প্যাকেট ক্যাপচার করা একটি নেটওয়ার্কের অভ্যন্তরীণ কাজকর্ম বিশ্লেষণ করার খুব উপযোগী পথ। এই উদ্দেশ্যে ডেভেলপ করা বিভিন্ন টুল আছে। उन중에 একটি হল tcpdump। এখানে আমরা দেখাবো নেটওয়ার্ক ইঞ্জিনিয়ার এবং পেনিট্রেশন টেস্টারদের জন্য এই চমৎকার টুলের সেরা ব্যবহার কীভাবে করবেন।

tcpdump কী?

tcpdump হল একটি নেটওয়ার্ক প্যাকেট অ্যানালাইজার টুল যা ১৯৮৮ সালে লরেন্স বারkeley ল্যাবরেটরি এবং এর নেটওয়ার্ক রিসার্চ গ্রুপে কাজ করা কম্পিউটার সায়েন্টিস্টদের একটি টিম দ্বারা ডেভেলপ এবং রিলিজ করা হয়েছিল। এটি একটি কম্পিউটার যা পাঠায় এবং পায় সেই প্যাকেটের কন্টেন্ট ডিসপ্লে করতে ব্যবহার হয়। এই ইউটিলিটি বিভিন্ন অপশন দিয়ে আসে প্যাকেট ক্যাপচারকে আরও স্পেসিফিক এবং ফোকাসড করতে। এই অপশনগুলোর মধ্যে রয়েছে বিভিন্ন নেটওয়ার্কিং প্রোটোকল এবং নেটওয়ার্ক ইন্টারফেস।

ইনস্টলেশন

অনেক লিনাক্স ডিস্ট্রিবিউশন টুলটি আউট-অফ-দ-বক্স ইনস্টলড রেখে দেয়। তবে আপনার পছন্দের ডিস্ট্রোতে না থাকলে, ইনস্টলেশন خوشকিস্মতено খুব দ্রুত এবং সহজ।

আপনি যদি উবুন্টু বা ডেবিয়ান ব্যবহার করেন, উদাহরণস্বরূপ, এটি apt ব্যবহার করে ইনস্টল করা যায়:

sudo apt install tcpdump

CentOS-এ একই কাজ yum ব্যবহার করে করা যায়:

sudo yum install tcpdump

আর্চ লিনাক্সে pacman ব্যবহার করে:

sudo pacman -S tcpdump

বেসিকস

tcpdump ইনস্টল হলে, আপনি -h ফ্ল্যাগ ব্যবহার করে ম্যানুয়াল একবার দেখে নিতে পারেন:

tcpdump -h

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

আপনি যদি একটি আরও কম্প্রিহেনসিভ এবং ডিটেইলড ম্যানুয়াল দেখতে চান, তবে man কমান্ড ব্যবহার করে ম্যান পেজ (ম্যানুয়াল পেজ) দেখতে পারেন:

man tcpdump

আপনি একটি বেসিক প্যাকেট ক্যাপচার চালাতে পারেন টাইপ করে:

tcpdump

কমান্ডটি নিজে থেকে ব্যবহার করা এবং কোনো নেটওয়ার্ক ইন্টারফেস স্পেসিফাই না করলে, টুল আপনার সিস্টেমে উপলব্ধ ইন্টারফেসগুলো থেকে একটি বেছে নেবে।

আপনি যদি চান tcpdump হোস্টনেম রেজলভ না করে এবং শুধু IP অ্যাড্রেস আউটপুট করুক, তবে -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 ইন্টারফেসে এবং পোর্ট ৪৪৩ (HTTPS) এর জন্য ট্রাফিক ক্যাপচার করতে চান। নিচের কমান্ড টাইপ করুন:

tcpdump -i eth0 port 443

অতিরিক্তভাবে, tcpdump আপনাকে একটি পোর্ট রেঞ্জ স্পেসিফাই করতে দেয়:

tcpdump -i [interface] portrange [port range]

একটি হোস্ট বা সাবনেট স্পেসিফাই করা

অনেক সময় আপনি ক্যাপচার করা প্যাকেটগুলোকে কেবল একটি নির্দিষ্ট হোস্ট বা সাবনেট থেকে পাঠানো/প্রাপ্ত করা সেগুলোতে লিমিট করতে চাবেন। خوشকিস্মতено, tcpdump আপনাকে সেটি করতে দেয়।

আপনি একটি হোস্ট স্পেসিফাই করতে পারেন নিচের ফরম্যাট ব্যবহার করে:

tcpdump -i [interface] host [host]

উদাহরণস্বরূপ, eth0 ইন্টারফেসে ট্রাফিক ক্যাপচার করুন এবং হোস্ট হিসেবে 127.0.0.1 (আপনার নিজস্ব লুপব্যাক IP অ্যাড্রেস) স্পেসিফাই করুন:

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

ফ্রিকোয়েন্টলি আস্কড কুয়েশচনস

১. আমি "Operation not permitted" এরর পাচ্ছি। কীভাবে সমাধান করব?

নিচেরটি একটি কমন এরর যা ইউজাররা tcpdump ব্যবহার করার চেষ্টা করলে পায়:

tcpdump আপনাকে এই এরর দেয় যখন আপনার প্যাকেট ক্যাপচার করার জন্য প্রয়োজনীয় পারমিশন নেই। অধিকাংশ সিন্যারিওতে, আপনি sudo ব্যবহার করে এটিকে সমাধান করতে পারেন। উদাহরণস্বরূপ:

sudo tcpdump -i eth0

২. আমি কীভাবে জানব কোন নেটওয়ার্ক ইন্টারফেসগুলো উপলব্ধ?

tcpdump-এ একটি বিল্ট-ইন ফাংশনালিটি আছে যা আপনাকে আপনার সিস্টেমে উপলব্ধ নেটওয়ার্ক ইন্টারফেস চেক করতে দেয়।

ইন্টারফেস চেক করতে -D ফ্ল্যাগ ব্যবহার করুন:

tcpdump -D
  1. আপনার TV-কে Windows 11 PC মনিটর হিসেবে ব্যবহার করুন: সহজ সেটআপ গাইড

  2. আপনার অ্যান্ড্রয়েড ফোনকে PC এবং TV-এর পাওয়ারফুল স্পিকার বানান

  3. অ্যান্ড্রয়েডে WhatsApp-এ স্টিকার ব্যবহার: সম্পূর্ণ গাইড

  4. স্মার্টফোনকে হাই-কোয়ালিটি ওয়েবক্যাম বানান পিসি জন্য