صفحه گسترده در مایکروسافت اکسل

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

همچنین نگاه کنید به: آموزش برای راه اندازی اتصال به اینترنت در اوبونتو، دبیان، سرور اوبونتو

نصب و راه اندازی

اکثر توسعه دهندگان سیستم عامل های مبتنی بر لینوکس شامل ابزار tcpdump در لیست از پیش نصب شده هستند، اما اگر به دلایلی در توزیع شما نیست، همیشه می توانید از طریق آن دانلود و نصب کنید "ترمینال". اگر سیستم عامل شما بر اساس دبیان است و این اوبونتو، لینوکس مینت، لینوکس کالی و مانند آن است، شما باید این دستور را اجرا کنید:

sudo apt install tcpdump

هنگام نصب باید رمز عبور را وارد کنید. لطفا توجه داشته باشید که هنگام تایپ کردن آن نمایش داده نمی شود، همچنین برای تایید نصب، باید شخصیت را وارد کنید "D" و مطبوعات وارد شوید.

اگر شما Red Hat، Fedora یا CentOS دارید، دستور نصب مانند این خواهد بود:

sudo yam install tcpdump

پس از نصب نرم افزار، شما می توانید بلافاصله از آن استفاده کنید. این و خیلی بیشتر بعدا در متن بحث خواهند شد.

همچنین مراجعه کنید: راهنمای نصب PHP برای سرور اوبونتو

نحو

مانند هر فرمان دیگر، tcpdump دارای نحو خاص خود است. دانستن او، شما می توانید تمام پارامترهای لازم را که هنگام اجرای فرمان مورد توجه قرار می گیرند تنظیم کنید. نحو است:

گزینه های tcpdump -i فیلترهای رابط

هنگام استفاده از دستور، باید رابط را برای پیگیری مشخص کنید. فیلترها و گزینه ها متغیرهای اجباری نیستند، اما برای تنظیمات انعطاف پذیر تر اجازه می دهند.

گزینه ها

اگرچه لازم نیست که گزینه را مشخص کنید، هنوز لازم است که لیستهای موجود را فهرست کنید. جدول تمام لیست خود را نشان نمی دهد، بلکه تنها محبوب ترین آنها است، اما برای اکثر وظایف، بیش از اندازه کافی است.

گزینهتعریف
-Aبه شما اجازه می دهد تا بسته ها را در قالب ASCII مرتب کنید
-lیک تابع حرکت را اضافه می کند.
-iبعد از وارد شدن باید مشخص کنید رابط شبکه ای که نظارت خواهد شد. برای شروع ردیابی تمام رابطها، پس از انتخاب کلمه "هر" را تایپ کنید.
-cپس از بررسی تعداد مشخص شده بسته، روند ردیابی را تکمیل می کند.
-wیک فایل متنی را با یک گزارش تایید تولید می کند.
سطح اتصال اینترنت بسته داده را نشان می دهد.
-Lتنها پروتکل هایی را که توسط رابط شبکه مشخص شده پشتیبانی می کنند را نمایش می دهد.
-Cدر صورت نوشتن یک بسته، یک فایل دیگر ایجاد می کند اگر اندازه آن بزرگتر از مقدار مشخص شده باشد.
-rیک پرونده را برای خواندن که با گزینه -w ایجاد شده باز می کند.
فرمت TimeStamp برای ضبط بسته ها استفاده می شود.
جیبه شما امکان می دهد تمامی فرمت های موجود TimeStamp را مشاهده کنید
-Gمورد استفاده برای ایجاد یک فایل با سیاهههای مربوط این گزینه همچنین نیاز به یک مقدار موقت دارد، پس از آن یک ورود جدید ایجاد خواهد شد
-v، -vv، -vvvبسته به تعداد کاراکترهای موجود در گزینه، خروجی فرمان، دقیق تر خواهد شد (افزایش به طور مستقیم با تعداد کاراکترها متناسب است)
-fخروجی نام دامنه آدرس IP را نشان می دهد
-Fبه شما امکان می دهد اطلاعاتی را که از رابط شبکه نیست، بخوانید، اما از فایل مشخص شده
-Dهمه ی رابط های شبکه را می توان نشان داد که می تواند استفاده شود.
-nنمایش نام دامنه را غیرفعال می کند
-Zکاربر را مشخص می کند که در آن حساب تمام فایل ها ایجاد می شوند.
-Kامتحان کردن تجزیه و تحلیل چکشی
-qتظاهرات اطلاعات مختصر
-Hهدر 802.11s را شناسایی می کند
منهنگام ضبط بسته ها در حالت مانیتور مورد استفاده قرار می گیرد.

پس از بررسی گزینه ها، در زیر ما به طور مستقیم به برنامه های خود را. در ضمن، فیلترها در نظر گرفته خواهند شد.

فیلترها

همانطور که در ابتدای مقاله ذکر شد، می توانید فیلترها را به نحو tcpdump اضافه کنید. در حال حاضر محبوب ترین آنها در نظر گرفته خواهد شد:

فیلتر کردنتعریف
میزباننام میزبان را مشخص می کند.
خالصزیر شبکه و شبکه را مشخص می کند
آی پیآدرس پروتکل را مشخص می کند
srcبسته هایی را که از آدرس مشخص شده ارسال می کنند را نشان می دهد
دقتبسته هایی را که توسط آدرس مشخص شده دریافت می کنند را نمایش می دهد.
arp، udp، tcpفیلتر کردن یکی از پروتکل ها
بندراطلاعات مربوط به یک پورت مشخص را نمایش می دهد.
و، یابرای ترکیب چند فیلتر در یک فرمان استفاده می شود.
کمتر، بیشتربسته های خروجی کوچکتر یا بزرگتر از اندازه مشخص شده

تمام فیلترهای بالا را می توان با یکدیگر ترکیب کرد، بنابراین در صدور فرمان شما فقط اطلاعاتی را که می خواهید مشاهده کنید مشاهده خواهید کرد. برای درک دقیقتر استفاده از فیلترهای بالا، ارزش نمونه آوردن آن است.

همچنین ببینید: دستورات اغلب مورد استفاده در ترمینال لینوکس

نمونه هایی از استفاده

گزینه های نحو اغلب استفاده شده از tcpdump اکنون لیست می شوند. همه آنها نمی توانند فهرست شوند، زیرا تغییرات آنها می تواند بی نهایت باشد.

لیست رابط کاربری را مشاهده کنید

توصیه می شود که هر کاربر ابتدا لیستی از تمام رابط های شبکه خود را که می تواند ردیابی شود، بررسی می کند. از جدول بالا می دانیم که برای این شما باید از این گزینه استفاده کنید -D، بنابراین در ترمینال، دستور زیر را اجرا کنید:

sudo tcpdump-D

مثال:

همانطور که می بینید، در این مثال هشت رابط وجود دارد که می تواند با استفاده از دستور tcpdump مشاهده شود. مقاله نمونه هایی از آن را ارائه می دهد ppp0، شما می توانید هر یک از دیگر استفاده کنید.

گرفتن ترافیک عادی

اگر شما نیاز به پیگیری یک رابط شبکه واحد، شما می توانید با گزینه این کار را انجام دهید -i. فراموش نکنید که بعد از ورود به نام رابط، وارد شوید. در اینجا یک مثال از اجرای یک فرمان است:

sudo tcpdump -i ppp0

لطفا توجه داشته باشید: شما باید قبل از فرمان خود وارد sudo شوید، زیرا به کاربر فوق العاده نیاز دارد.

مثال:

توجه: پس از فشار دادن Enter در "ترمینال"، بسته های متوقف شده به طور مداوم نمایش داده می شود. برای متوقف کردن جریان، شما باید کلید ترکیبی Ctrl + C را فشار دهید.

اگر دستور را بدون گزینه های اضافی و فیلترها اجرا کنید، فرمت زیر را برای نمایش بسته های ردیابی خواهید دید:

22: 18: 52.597573 IP vrrp-topf2.p.mail.ru.https> 10.0.6.67.35482: Flags [P.]، seq 1: 595، ack 1118، win 6494، options [nop، nop، TS val 257060077 ecr 697597623]، طول 594

جایی که رنگ برجسته شده است:

  • آبی - زمان دریافت بسته؛
  • نارنجی - نسخه پروتکل؛
  • سبز - آدرس فرستنده؛
  • بنفش - آدرس گیرنده؛
  • خاکستری - اطلاعات اضافی در مورد tcp؛
  • قرمز - اندازه بسته (نمایش داده شده در بایت).

این نحو توانایی خروجی در پنجره را دارد "ترمینال" بدون استفاده از گزینه های اضافی.

ضبط ترافیک با گزینه -v

همانطور که از جدول شناخته شده است، گزینه -v به شما اجازه می دهد مقدار اطلاعات را افزایش دهید. اجازه بدهید یک نمونه را در نظر بگیریم همان رابط را بررسی کنید:

sudo tcpdump -v -i ppp0

مثال:

در اینجا می توانید ببینید که خط زیر در خروجی نمایش داده می شود:

IP (tos 0x0، ttl 58، id 30675، offset 0، پرچم ها [DF]، proto TCP (6)، طول 52

جایی که رنگ برجسته شده است:

  • نارنجی - نسخه پروتکل؛
  • آبی - زندگی پروتکل؛
  • سبز - طول هدر فیلد؛
  • بنفش - نسخه بسته tcp؛
  • قرمز - اندازه بسته

همچنین در نحو فرمان میتوانید گزینه را بنویسید -vv یا -vvv، که بیشتر مقدار اطلاعات نمایش داده شده روی صفحه را افزایش می دهد.

گزینه -w و -r

جدول گزینه های ذکر شده امکان ذخیره تمام داده های خروجی را در یک فایل جداگانه به طوری که آنها را می توان بعدا مشاهده کرد. گزینه این مسئولیت است. -w. استفاده بسیار ساده است، فقط آن را در فرمان وارد کنید و سپس نام فایل آینده با پسوند را وارد کنید ".pcap". تمام مثالها را در نظر بگیرید:

sudo tcpdump -i ppp0 -w file.pcap

مثال:

لطفا توجه داشته باشید: هنگام نوشتن سیاهههای مربوط به یک فایل، در صفحه "Terminal" هیچ متن نمایش داده نمی شود.

وقتی می خواهید خروجی ضبط شده را مشاهده کنید، باید از گزینه استفاده کنید -rبه دنبال نام فایل قبلا ثبت شده است. این بدون گزینه ها و فیلترها اعمال می شود:

sudo tcpdump -r file.pcap

مثال:

هر دوی این گزینه ها در مواردی که شما نیاز دارید حجم زیادی از متن را برای تجزیه و تحلیل های بعدی ذخیره کنید، کاملا مناسب است.

فیلتر کردن IP

از جدول فیلتر، ما این را می دانیم دقت اجازه می دهد تا روی صفحه نمایش کنسول فقط آن دسته از بسته هایی را که توسط آدرس مشخص شده در فرمان دستور دریافت می شوند، نمایش داده شود. بنابراین، بسیار راحت است که بسته های دریافت شده توسط کامپیوتر شما را مشاهده کنید. برای انجام این کار، تیم فقط باید آدرس IP خود را مشخص کند:

sudo tcpdump -i ppp0 ip dst 10.0.6.67

مثال:

همانطور که می بینید، علاوه بر این دقت، در تیم، ما همچنین فیلتر را ثبت کردیم آی پی. به عبارت دیگر، ما به کامپیوتر گفتیم که هنگام انتخاب بسته ها، او به آدرس آی پی خود و نه به سایر پارامترها توجه می کند.

با IP، می توانید بسته ها را فیلتر کنید و ارسال کنید. در مثال ما دوباره به IP خودمان می دهیم. به این ترتیب، ما اکنون خواهیم دید که بسته ها از طریق رایانه ما به آدرس های دیگر ارسال می شوند. برای انجام این کار، دستور زیر را اجرا کنید:

sudo tcpdump -i ppp0 ip src 10.0.6.67

مثال:

همانطور که می بینید، ما فیلتر را در نحو فرمان تغییر دادیم. دقت بر روی src، به این ترتیب دستگاه را برای جستجوی فرستنده توسط آی پی بررسی می کند.

فیلتر کردن HOST

با مقایسه با IP در تیم، می توانیم یک فیلتر را مشخص کنیم میزبانبا استفاده از میزهای مورد علاقه، بستهها را از بین ببرید. به عبارت دیگر، در نحو، به جای آدرس IP فرستنده / گیرنده، شما باید میزبان خود را مشخص کنید. این به نظر می رسد:

sudo tcpdump -i ppp0 dst host google-public-dns-a.google.com

مثال:

در تصویر می توانید ببینید که در "ترمینال" فقط آن دسته از بسته های ارسال شده از IP ما به میزبان google.com نمایش داده می شوند. همانطور که می بینید، به جای میزبان گوگل، می توانید هر نوع دیگری را وارد کنید.

همانطور که با فیلتر کردن IP، نحو است: دقت می تواند جایگزین شود srcبرای دیدن بسته هایی که به کامپیوتر شما ارسال می شوند:

sudo tcpdump -i ppp0 src host google-public-dns-a.google.com

توجه: فیلتر میزبان باید بعد از dst یا src باشد، در غیر این صورت دستور خطایی ایجاد می کند. در مورد فیلتر کردن IP، برعکس، dst و src در مقابل فیلتر ip قرار دارند.

فیلتر و و یا

اگر شما نیاز به استفاده از چندین فیلتر در یک بار در یک فرمان دارید، پس شما باید فیلتر کنید. و یا یا (بستگی به مورد) با مشخص کردن فیلترها در نحو و جدا کردن آنها با این اپراتورها، آنها را "آنها را" به عنوان یکی کار می کنند. به عنوان مثال، به نظر می رسد این است:

sudo tcpdump -i ppp0 ip dst 95.47.144.254 یا ip src 95.47.144.254

مثال:

از دستور syntax می توانید ببینید که ما می خواهیم نمایش بدهیم "ترمینال" تمام بسته های ارسال شده به آدرس 95.47.144.254 و بسته های دریافت شده توسط همان آدرس. شما همچنین می توانید تعدادی متغیر را در این عبارت تغییر دهید. به عنوان مثال، به جای IP، HOST را مشخص کنید یا آدرسهای خود را مستقیما جایگزین کنید.

پورت فیلتر و بندر

فیلتر کردن بندر مناسب برای زمانی که شما نیاز به دریافت اطلاعات در مورد بسته با یک پورت خاص. بنابراین، اگر فقط نیاز به دیدن پاسخ ها یا نمایش داده ها DNS دارید، باید پورت 53 را مشخص کنید:

sudo tcpdump -vv -i ppp0 port 53

مثال:

اگر میخواهید بستههای HTTP را مشاهده کنید، باید پورت 80 را وارد کنید:

sudo tcpdump -vv -i ppp0 port 80

مثال:

در میان چیزهای دیگر، ممکن است بلافاصله ردیابی دامنه های پورت. برای انجام این کار، فیلتر را اعمال کنید پرتغال:

sudo tcpdump portrange 50-80

همانطور که می بینید، در رابطه با فیلتر پرتغال لازم نیست گزینه های اضافی را مشخص کنید. محدوده را فقط تنظیم کنید.

فیلتر پروتکل

شما همچنین می توانید تنها ترافیک مربوط به هر پروتکل را نمایش دهید. برای انجام این کار از نام پروتکل به عنوان یک فیلتر استفاده کنید. بیایید به مثال نگاه کنیم udp:

sudo tcpdump -vvv -i ppp0 udp

مثال:

همانطور که می توانید در تصویر ببینید، پس از اجرای دستور در "ترمینال" فقط بسته های پروتکل نمایش داده شدند udp. بر این اساس، شما می توانید توسط دیگران فیلتر، به عنوان مثال آرپ:

sudo tcpdump -vvv -i ppp0 arp

یا TCP:

sudo tcpdump -vvv -i ppp0 tcp

شبکه فیلتر

اپراتور خالص بسته های بر اساس تعیین شبکه خود را فیلتر می کند. این به همان اندازه آسان است که به عنوان بقیه استفاده می شود - شما باید ویژگی در نحو را مشخص کنید خالص، سپس آدرس شبکه را وارد کنید. در اینجا یک مثال از این دستور وجود دارد:

sudo tcpdump -i ppp0 net 192.168.1.1

مثال:

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

ما دو فیلتر دیگر جالب را در نظر نگرفته ایم: کمتر و بزرگتر. از جدول با فیلترها، ما می دانیم که آنها در خدمت خروجی داده های بیشتر (کمتر) یا کمتر (بزرگتر) اندازه مشخص شده پس از مشخصه وارد شده است.

فرض کنید ما فقط می خواهیم بسته هایی را که بیش از 50 بیت نیستند نظارت کنیم، سپس دستور را به صورت زیر می بینیم:

sudo tcpdump -i ppp0 کمتر 50

مثال:

حالا بیایید نمایش بده "ترمینال" بسته های بزرگتر از 50 بیت:

sudo tcpdump -i ppp0 بیشتر 50

مثال:

همانطور که می بینید، آنها به همان اندازه مورد استفاده قرار می گیرند، تنها تفاوت در نام فیلتر است.

نتیجه گیری

در پایان مقاله می توان نتیجه گرفت که تیم tcpdump - این یک ابزار عالی است که با آن می توانید هر بسته داده ای را که از طریق اینترنت منتقل شده است، ردیابی کنید. اما برای این تنها کافی نیست که وارد فرمان خود شوید "ترمینال". برای رسیدن به نتیجه مطلوب فقط در صورت استفاده از انواع گزینه ها و فیلترها و همچنین ترکیب آنها به دست می آید.