امیرحسین تنگسیری نژاد
مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

ابزار TcpDump یکی از مشهورترین و بهترین ابزار ها در حوزه Capture کردن داده های درحال ردوبدل از سمت کارت شبکه ( Network Adapter ) ما میباشد. این نرم افزار به صورت رایگان و Open Source تحت لایسنس BSD ارایه شده است و توانایی اجرا شدن بر روی اکثر سیستم هارا از جمله سیستم های خانواده BSD همچون NetBSD و OpenBSD را دارد و همچنین توانایی پیاده سازی بر روی تمامی سیستم ها و توزیع های GNU/Linux را دارد و همچنین از دیگر سیستم های که میتوانیم از TcpDump بر روی آنها استفاده کنیم میتوانیم به HP-UX و AIX و Solaris و البته MacOS اشاره کنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

این نرم افزار از کتابخانه LibPcap استفاده میکند و برای سیستم های ویندوزی یک نسخه مشابه دارد که با عنوان WinDump ارائه شده است و مختص سیستم های ویندوزی است و با این تفاوت که به جای استفاده از LibPcap از کتابخانه WinPcap استفاده میکند.

تفاوت TcpDump و Wireshark در چیست؟

درواقع TcpDump و Wireshark هردو یک ماهیت و مفهوم را برای ما انجام میدهند و آن هام ضبط و یا Capture سازی اطلاعات بسته های توی شبکه ما میباشد و از آن طرف نیز هر دو این نرم افزار به صورت رایگان و Open Source در اختیار ما قرار داده شده اند اما با تفاوت های که این دو دارند کمی از هم متمايز میشوند زیرا برای مثال Wireshark به صورت گرافیکی (GUI) ارائه شده است و توانایی استفاده از آن با یک رابطه کاربری گرافیکی دردسترس است اما TcpDump بدین شکل نیست و استفاده‌ از TcpDump محدود به بستر محیط دستوری (Cli) می‌باشد

و ما برای استفاده از آن باید از بستر محیط Shell کمک بگیریم که بیشتر در شرایطی که دسترسی به رابط گرافیکی بر روی سیستم وجود ندارد از TcpDump استفاده میشود.

بیشتر ببینید: کاملترین دوره آموزش متااسپلویت | MetaSploit از پایه تا پیشرفته (SANS SEC580)

چگونه TcpDump را نصب کنیم؟

برای نصب آن کافيست براساس سیستمتان فایل نصبی آن را دانلود کنید و یا براساس Pkg Manager سیستمتان از Repository سیستمتان آن را دانلود کنید:

CentOS/RHEL

yum install tcpdump

Parrot/Kali/Ubuntu/Debian/Linux Mint

apt install tcpdump

Fedora

dnf install tcpdump

Arch

pacman -S tcpdump

برای اجرا سازی آن کافیست دستور TcpDump را وارد کنید و داده هارا ببینید که درحال Cpture شدن هستند.

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

معرفی 10 دستور پرکاربرد در TcpDump

  • دستور اول: TcpDump -i {Network Adapter Name}

در دستور بالا به واسطه -i میتوانیم تعیین کنیم که فقط داده ها و ترافیک یک کارت شبکه خاص را بر روی سیستم مارا ضبط و یا Capture کند:

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

  • دستور دوم: TcpDump host {IP Address}

در دستور بالا به واسطه host میتوانیم تعیین کنیم که فقط داده ها و ترافیک یک آدرس IP خاص را بر روی سیستم مارا ضبط و یا Capture کند بدین شکل که فقط اگر آن آدرس IP در Source و یا Dst بسته ها وجود دارد آنهارا ضبط کند و نمایش بدهد:

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

  • دستور سوم: TcpDump src {IP} and dst {IP}

در دستور بالا به واسطه دو دستور src و dst میتوانیم تعیین کنیم که فقط داده ها و ترافیک هارا از منبع و یا مقصد خاصی و یا هر دو آنها برایمان ضبط کنید برای مثال اگر بخواهیم داده های از منبع 192.168.119.129 را فقط Capture کنیم به شکل زیر عمل میکنیم:

 TcpDump src 192.168.119.129

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

و یا اگر بخواهیم داده های به مقصد خاصی مثلا 192.168.119.129 را فقط Capture کنیم به شکل زیر عمل میکنیم:

 TcpDump dst 192.168.119.129 

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

و یا اگر بخواهیم داده های از منبع خاصی مثلا 192.168.119.129 به مقصد خاصی مثلا 192.168.119.2 را فقط Capture کنیم به شکل زیر عمل میکنیم:

 TcpDump src 192.168.119.129 dst 192.168.119.2

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

  • دستور چهارم: TcpDump -X

در دستور بالا به واسطه -X میتوانیم تعیین کنیم که داده ها و ترافیک های Capture شده را به در فرمت Hex به ما نمایش بدهد:

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

  • دستور پنجم: TcpDump -A

در دستور بالا به واسطه -A میتوانیم تعیین کنیم که داده ها و ترافیک های Capture شده را به در فرمت ASCII به ما نمایش بدهد:

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

  • دستور ششم: TcpDump -c

در دستور بالا به واسطه -c میتوانیم تعیین کنیم که داده ها و ترافیک را با محدودیت خاصی برای ما Capture کند زیرا به صورت پیش فرض محدودیت خاصی ندارد و تا زمانی که Ctrl C نزنید داده هارا برایمان Capture میکند ولی به واسطه -c و عدد خاصی که تعیین کننده تعداد بسته هاست میتوانیم آن را محدود سازی کنیم

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

  • دستور هفتم: TcpDump -w

در دستور بالا به واسطه -w میتوانیم تعیین کنیم که داده ها و ترافیک های Capture شده را به در یک فایل Pcap برای ما ذخیره کند: دستور هشتم - TcpDump -r در دستور بالا به واسطه -r میتوانیم تعیین کنیم که داده ها و ترافیک های Capture شده را به در یک فایل Pcap برای ما ذخیره کرده است را برای ما بخواند:

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

  • دستور نهم: TcpDump -r

در دستور بالا به واسطه -r میتوانیم تعیین کنیم که داده ها و ترافیک های Capture شده را به در یک فایل Pcap برای ما ذخیره کرده است را برای ما بخواند:

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

  • دستور دهم: TcpDump {Protocol}

در دستور بالا ما میتوانیم در جلوی TcpDump یک پروتکل خاص را تعیین کنیم که ترافیک آن پروتکل را برای ما ضبط کند برای مثال پروتکل ICMP

TcpDump چیست؟ معرفی ده دستور پرکاربرد در TcpDump

موفق و پیروز باشید.


امیرحسین تنگسیری نژاد
امیرحسین تنگسیری نژاد

مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو

متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider می‌باشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/

نظرات