برنامه نویسی

با استفاده از TCPDump – DEV Community

TCPDump یک ابزار تجزیه و تحلیل بسته مبتنی بر خط فرمان است که برای تجزیه و تحلیل شبکه و ممیزی امنیت شبکه در سیستم های مبتنی بر یونیکس و لینوکس استفاده می شود. این به شما امکان می دهد تقریباً از تمام لایه های مدل OSI بر ترافیک نظارت کنید، بنابراین می توانید با بسته هایی که می خواهید به روشی که می خواهید کار کنید. می توانید بسته های ضبط شده را ذخیره کرده و بعداً با Wireshark یا ابزار تجزیه و تحلیل دیگری آن ها را تجزیه و تحلیل کنید.

ویژگی ها و مزایای TCPDump

TCPDump یک ابزار قدرتمند با قابلیت ضبط، تجزیه و تحلیل و گزارش ترافیک شبکه با جزئیات است. می توان از آن برای فیلتر انواع بسته ها، پورت های خاص، آدرس های IP و موارد دیگر استفاده کرد. یکی از بزرگترین مزیت های TCPDump قابلیت سفارشی سازی گسترده آن و تنوع گسترده گزینه ها و فیلترهایی است که ارائه می کند. اندازه کوچک و سیستم مورد نیاز کم آن نیز باعث می شود خودرو به سرعت و کارآمد کار کند.

راه اندازی TCPDump

TCPDump به طور پیش فرض در اکثر توزیع های لینوکس ارائه می شود. اما برای بررسی نصب بودن یا ارتقا به آخرین نسخه، ترمینال را باز کنید و از دستورات زیر استفاده کنید:

برای توزیع های مبتنی بر دبیان (اوبونتو، مینت و غیره):

sudo apt-get update
sudo apt-get install tcpdump
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای توزیع های مبتنی بر Red Hat (CentOS، Fedora و غیره):

sudo yum install tcpdump
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

دستورات اولیه TCPDump

نحو عمومی

سینتکس اصلی دستور TCPDump به شرح زیر است:

tcpdump [seçenekler] [filtre]
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

گزینه‌ها و عبارات فیلتر زیادی وجود دارد که هر کدام تعیین می‌کنند که TCPDump چه نوع ترافیکی را ثبت می‌کند و نتایج چگونه نمایش داده می‌شوند.

رابط های فهرست

tcpdump -D
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

دستور، رابط های شبکه موجود را فهرست می کند.
مثال:

tcpdump -D
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضبط ترافیک در یک رابط خاص

tcpdump -i [arabirim]
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

گزینه ‘-i’ و نام رابط برای ضبط تمام ترافیک یک رابط استفاده می شود.

مثال:

tcpdump -i eth0
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فیلترینگ میزبان

tcpdump -i [arabirim] host [ip_adresi]
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فیلتر “میزبان” برای نظارت بر ترافیک مربوط به یک میزبان خاص استفاده می شود.

مثال:

tcpdump -i eth0 host 192.168.1.108
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فیلتر پروتکل

نام پروتکل مستقیم برای فیلتر کردن یک پروتکل خاص (TCP، UDP، ICMP و غیره) استفاده می شود.

برای گرفتن ترافیک TCP:

tcpdump -i eth0 tcp
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فیلتر پورت

فیلتر “پورت” برای ضبط ترافیک در یک پورت خاص استفاده می شود.

برای گرفتن ترافیک در پورت 80:

tcpdump -i eth0 port 80
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فیلتر IP منبع و مقصد

فیلترهای ‘src’ (منبع/منبع) و ‘dst’ (مقصد) برای گرفتن بسته هایی با آدرس IP مبدا و/یا مقصد استفاده می شوند.

مثال:

برای گرفتن ترافیک با آدرس IP منبع 192.168.1.108:

tcpdump -i eth0 src 192.168.1.108
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای گرفتن ترافیک با آدرس IP مقصد 192.168.1.108:

tcpdump -i eth0 dst 192.168.1.108
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای گرفتن ارتباط بین یک آدرس منبع و مقصد خاص:

tcpdump -i eth0 src 192.168.1.108 and dst 192.168.1.1
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فیلتر شبکه

فیلتر ‘net’ برای ضبط ترافیک در یک شبکه IP خاص استفاده می شود.

مثال:

برای گرفتن تمام ترافیک در شبکه 192.168.1.0/24:

tcpdump -i eth0 net 192.168.1.0/24
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فیلتر کردن جهت بسته ها

عبارات ‘src’ و ‘dst’ و فیلتر ‘net’ با هم برای فیلتر کردن جهت بسته ها استفاده می شوند.

برای گرفتن ترافیک از یک شبکه خاص:

tcpdump -i eth0 src net 192.168.1.0/24
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای جذب ترافیک به یک شبکه خاص:

tcpdump -i eth0 dst net 192.168.1.0/24
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نوشتن خروجی در فایل و خواندن از آن

گزینه ‘-w’ و نام فایل برای نوشتن خروجی TCPDump روی یک فایل استفاده می شود. این برای تجزیه و تحلیل بعدی بسیار مفید است.

مثال:

tcpdump -i eth0 -w output.pcap
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از گزینه ‘-r’ و نام فایل برای خواندن خروجی TCPDump ذخیره شده قبلی استفاده کنید:

tcpdump -r output.pcap
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نظارت فوری بر ترافیک شبکه با TCPDump

دستور tcpdump می تواند پارامتر -c را برای توقف زمانی که به تعداد مشخصی از بسته ها رسید، بگیرد. به عنوان مثال، اگر می خواهید فقط 10 بسته اول را ضبط کنید و سپس متوقف شوید، می توانید از دستور زیر استفاده کنید:

مثال:

sudo tcpdump -c 10 -i eth0 -v
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فیلترهای TCPDump

TCPDump برای گرفتن بسته هایی با ویژگی های خاص با فیلترهای مختلف همه کاره است.

فیلتر کردن آدرس IP یا محدوده

فیلترهای «host»، «src»، «dst» و «net» برای فیلتر کردن یک آدرس IP یا شبکه خاص استفاده می‌شوند.
فیلتر پورت

فیلترهای ‘port’، ‘src port’، ‘dst port’ برای فیلتر کردن یک پورت خاص استفاده می شوند.

فیلتر پروتکل

نام پروتکل مستقیماً برای فیلتر کردن یک پروتکل خاص استفاده می شود (به عنوان مثال ‘tcp’، ‘udp’، ‘icmp’).

فیلتر اندازه بسته

فیلترهای «کمتر»، «بزرگتر» و «لن» برای فیلتر کردن بسته‌هایی با اندازه معین استفاده می‌شوند.

گرفتن بسته های خاص

عبارات فیلتر TCPDump به طور خاص برای گرفتن انواع خاصی از بسته ها استفاده می شود. به عنوان مثال، فیلتر زیر می تواند برای گرفتن تمام بسته های TCP با پرچم SYN استفاده شود:

tcpdump 'tcp[13] & 2 != 0'
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا