اگر سیستم عامل یونیکس یا یونیکس (لینوکس ، Mac OS) دارید ، می توانید از tcpdump برای بررسی ترافیک شبکه استفاده کنید. برنامه tcpdump یک ابزار خط فرمان است که به صورت رایگان قابل نصب است. معمولاً در سیستم عاملها یکپارچه نیست ، بنابراین باید آن را از طریق رجیستری tcpdump GitHub یا از وب سایت رسمی tcpdump نصب کنید..
عناصر tcpdump
ابزار ضبط بسته مورد استفاده tcpdump توسط libpcab ارائه می شود ، که یک کتابخانه مراحل C / C ++ است. برنامه اصلی tcpdump رابط کاربری فرآیند ضبط بسته است. هنگام اجرا ، فرآیند libcap برای گرفتن بسته ها و سپس نمایش محتویات آنها روی صفحه شروع می شود. اگر محدودیتی برای تعداد بسته های ضبط شده با شروع برنامه مشخص نشود ، برای همیشه ادامه خواهد یافت. پردازش سپس توسط یک سیگنال قطع (Control-C) خاتمه می یابد..
برنامه در خط فرمان اجرا می شود و تعدادی گزینه را شامل می شود ، که توسط پرچم ها مشخص شده اند. این پرچم ها باعث تغییر رفتار برنامه می شوند تا بتوانند بسته هایی را انتخاب کنند که با الگوی مشخصی مطابقت دارند ، زمان اجرای آن را محدود می کنند ، یا اینکه بخواهند بسته های ذخیره شده را از یک پرونده بخوانند تا از رابط شبکه..
قالب Tcpdump
دستور tcpdump می تواند به خودی خود یا با گزینه ها ، پارامترها و / یا عبارات منظم صادر شود. هیچکدام از این عناصر اجباری نیستند و ترتیب مهم نیست.
tcpdump <-option_identifier>
گزینه های Tcpdump
دستور tcpdump با گزینه هایی دنبال می شود که به آن نیز معروف هستند پرچم ها. هر یک از اینها توسط یک بتنی و به دنبال آن یک نامه مشخص شده است. در زیر لیستی از هریک از این پرچم ها قرار دارد.
-آ بسته های چاپی را در ASCII بدون هدر سطح لینک چاپ کنید
-ب نشان می دهد که شماره AS با فرمت ASDOT است
-ب buffer_size در واحدهای KiB (1024 بایت)
-ج شمردن – حد بسته ها برای گرفتن
-ج حجم فایل – پس از پر کردن این محدودیت اندازه پرونده ، یک فایل جدید ایجاد می کند. اندازه x 1 میلیون بایت است
-د کد ASPII کامپایل شده را کامپایل کنید
-DD کد تطبیق بسته را به عنوان علامت بزنید ج قطعه برنامه
-Ddd کد تطبیق بسته را به عنوان اعداد اعشاری قبل از شمارش رها کنید
-د لیست تمام رابط های در دسترس
-ه هدر سطح پیوند را در هر خط روگرفت چاپ کنید
-ه spi @ ipaddr algo: secret – برای رمزگشایی بسته های IPsec ESP:
SPI شاخص امنیت پارامتر است
IPمخاطب آدرس مقصد روی بسته است
جلبک الگوریتم است ، به طور پیش فرض des-cbc و زمینه اختیاری است.
مقادیر ممکن عبارتند از:
- des-cbc
- 3des-cbc
- blowfish-cbc
- rc3-cbc
- cast128-cbc
راز متن ASCII برای کلید مخفی ESP است. اگر قبل از 0x باشد ، مقدار Hex است
-f نشانی های IPv4 «خارجی» را چاپ کنید و نه علامتی
-ف فایل – استفاده کنید فایل به عنوان ورودی برای بیان فیلتر
-ج چرخش_ ثانیه – دوره ای برای چرخاندن گزینه صرفه جویی در پرونده -w ، گزینه timestamp را به نام اضافه می کند
-ساعت رشته های نسخه tcpdump و libpcap را چاپ کنید ، یک پیام استفاده را چاپ کنید و از آن خارج شوید
-ح عنوانهای مش پیش نویس 802.11s را کشف کنید
-من رابط – رابط کاربری که باید آن را گوش دهید ، به طور حروف الفبا به پایینترین نام تنظیم می شود
-من مانیتور حالت | حالت فوری – بافر را از بین می برد
-ج tstamp_type – نوع زمان سنج را برای گرفتن تنظیم کنید tstamp_type
-ج tstamp_precision – دقت مهر زمان را تنظیم کنید (کوچک یا نانو) پیش فرض میکرو است. اگر tstamp_precision تهی است ، انواع تایم پرچم و خروج را لیست کنید
-ک بررسی های چک را تأیید نکنید
-ل خط Stdout بافر شد. به عنوان مثال. tcpdump -l | اطلاعات لازم یا tcpdump -l > دیتا & دم دم
-ل انواع پیوند داده شناخته شده رابط ، در حالت مشخص شده و خروج را فهرست کنید
-م مدول – بارگذاری تعاریف ماژول SMI MIB از پرونده مدول.
-م راز – مقدار مخفی مشترک برای اعتبارسنجی با گزینه TCP-MD5
-ن آدرس (به عنوان مثال آدرس میزبان ، شماره پورت و غیره) را به نام تبدیل نکنید
-ن صلاحیت نام دامنه نام میزبان را چاپ نکنید
-# در ابتدای خط یک عدد بسته اختیاری چاپ کنید
-ای بهینه ساز کد تطبیق بسته را اجرا نکنید
-پ رابط کاربری را در حالت اعلان قرار ندهید
-س جهت – ارسال / دریافت جهت. ممکن است که در, بیرون, یا ناتوان
-ق اطلاعات پروتکل کمتری را چاپ کنید
-r فایل – بسته ها را از فایل. مشخص نمودن – برای ورودی استاندارد
-س شماره های دنباله TCP مطلق را چاپ کنید
-s اسنپلن – خرقه اسنپلن بایت از هر بسته ، بایت پیش فرض 262144 نیست
-تی نوع – بسته ها را به صورت مشخص تفسیر کنید نوع. گزینه ها عبارتند از:
- آودو پروتکل بردار فاصله براساس تقاضا Ad-hoc
- کپور پروتکل مشترک افزونگی آدرس
- cnfp پروتکل NetFlow سیسکو
- lmp پروتکل مدیریت پیوند
- pgm عموم عمومی Multicast
- pgm_zmtp1 ZMTP / 1.0 داخل PGM / EPGM)
- احترام پروتکل سریال سازی REdis
- شعاع شعاع
- rpc فراخوانی رویه از راه دور
- rtp پروتکل برنامه های زمان واقعی
- rtcp پروتکل کنترل برنامه های زمان واقعی
- اسنپ پروتکل ساده مدیریت شبکه
- tftp پروتکل انتقال پرونده بی اهمیت
- واست ابزار صوتی تصویری
- wb صفحه سفید توزیع شده است
- zmtp1 پروتکل حمل و نقل پیام ZeroMQ 1.0
- vxlan شبکه محلی محلی مجازی eXtensible
-تی برچسب زمانی را در هر خط واضح چاپ نکنید
-تی تی پرچم زمانی را به عنوان جبران از اول ژانویه 1970 در هر خط واضح چاپ کنید
-تی تی یک دلتا (وضوح میکرو ثانیه) بین خط فعلی و قبلی چاپ کنید
-ttt چاپ جدول زمانی: تاریخ ، ساعت ، دقیقه ، ثانیه در هر خط واژگون
-تی تی تی یک دلتا (وضوح میکرو ثانیه) بین خط فعلی و اول چاپ کنید
-تو دستگیره های رمزگذاری نشده NFS را چاپ کنید
-تو بسته بافر
-v کمی خروجی شفاف تر
-VV بازده شفاف تر
-vvv بیشتر خروجی شفاهی
-V فایل – لیستی از نام فایلها را از مطالعه کنید فایل. در صورت استفاده از ورودی استاندارد استفاده می شود فایل است –
-W فایل – نوشتن خروجی به فایل
-W حد – حداکثر تعداد پرونده هایی که توسط ایجاد می شود -ج و -ج گزینه ها
-ایکس چاپ داده های هر بسته منهای هدر سطح پیوند آن در شش گوشه
-xx چاپ داده های هر بسته, شامل هدر سطح پیوند آن ، در هگزا
-ایکس چاپ داده های هر بسته منهای هدر سطح پیوند آن به صورت هگزا و ASCII
-XX چاپ داده های هر بسته, شامل هدر سطح پیوند آن ، در هگزا و ASCII.
-ی datalinktype – نوع اتصال داده را هنگام ضبط بسته ها برای استفاده تنظیم کنید datalinktype
-z فرمان postrotate – فایلهای ذخیره شده را معمولاً با فشرده سازی ، پردازش می کنید ، -z gzip
-ز کاربر – شناسه کاربری را به آن تغییر دهید کاربر و شناسه گروه به گروه اصلی کاربر
پارامترهای Tcpdump
پارامترهای tcpdump نیز شناخته می شوند بدوی. اینها مشخص می کنند که آیا ضبط بسته فقط باید از منابع میزبان مشخصی تهیه شود. این پارامترها همچنین با استفاده از عملگرهای بولی می توانند به صورت شرایط بیان شوند و, یا, و نه. لازم نیست علامت مساوی (=) را بین نام پارامتر و مقدار آن قرار دهید و نیازی به پارامترهای فضایی با نقطه گذاری نیست. در هر حالت ، فقط به یک فضای نیاز دارید.
بیشترین استفاده از این پارامترها هاست است ، که به شما امکان می دهد میزان ضبط را فقط برای یک منبع محدود کنید. در هر حالت ، نام دستگاه به عنوان مقدار پارامتر می تواند آدرس آن جایگزین شود. جایی که یک پارامتر دارد DST نسخه ، آن تنوع تولید را فقط به بسته هایی که آن ویژگی را برای مقصد خود دارند محدود می کند. پارامترهایی که شامل می شوند src به دنبال بسته هایی باشید که در داده های مربوط به مبداء آنها مقدار مشخصی داشته باشند.
در اینجا گزینه های پارامتر وجود دارد:
میزبان host_name – همچنین میزبان dst یا میزبان src.
همچنین می توان با آن ترجیح داد IP, قوس, یا تند
اتر هوست – مقدار از / و غیره / اترها یا یک عدد. همچنین اتر src و اتر dest.
دروازه میزبان – بسته هایی را که از طریق دروازه می گذرد دریافت کنید میزبان
خالص network_num – منبع یا مقصد IP شامل network_num همچنین dst net و شبکه src
بندر شماره | نام – همچنین بندر dst و بندر src. می تواند با tcp یا udp برای محدود کردن پروتکل
ip proto پروتکل – بسته های IP پروتکل نامگذاری شده را ضبط کنید. نام باید در / etc / پروتکل باشد
اتر پروتو پروتکل – ضبط بسته ای از نوع پروتکل اتر. گزینه ها برای پروتکل یک شماره هستند یا:
- IP
- ip6
- قوس
- تند
- بحث
- آتالارپ
- پوسیدگی
- عرشه
- عرشه
- لانبریج
- لات
- موپدل
- موپرچ
- توله سگ
- sca
- اسپریت
- STP
- vexp
- vprod
- xns
پخش بسته های پخش شده اترنت را ضبط می کند. همچنین به عنوان نوشته شده است پخش اتر
پخش ip بسته های پخش شده IP را ضبط می کند
چندکاره بسته های چندکاره اترنت را ضبط می کند. همچنین به صورت multicast اتر نوشته شده است
ip multicast بسته های چندکاره IP را ضبط می کند
میزبان دکمه host_name – اگر منبع یا مقصد DECNET باشد host_name
decnet src host_name – ضبط کنید اگر منبع DECNET باشد host_name
decnet dst host_name – در صورت مقصد DECNET ضبط کنید host_name
میزبان wlan هوست – اگر آدرس IEEE 802.11 اول ، دوم ، سوم یا چهارم باشد هوست
wlan addr1 هوست – اگر اولین آدرس IEEE 802.11 است ، ضبط کنید هوست
wlan addr2 هوست – اگر آدرس IEEE 802.11 دوم است ، ضبط کنید هوست
wlan addr3 هوست – اگر آدرس IEEE 802.11 سوم است ، ضبط کنید هوست
wlan addr4 هوست – اگر آدرس چهارم IEEE 802.11 باشد هوست. فقط برای WDS استفاده می شود
نوع نوع – اگر نوع فریم IEEE 802.11 است ، ضبط کنید نوع, که یک عدد است یا:
- داده ها
- میلی گرم
- ctl
زیرگروه زیرگروه – اگر قاب IEEE 802.11 است ، ضبط کنید زیرگروه, که یک عدد است یا:
- assocreq
- Assocresp
- مجدداً
- دوباره احضار کردن
- مشروب
- سؤال کردن
- چراغ
- atim
- جدا کردن
- نویسنده
- دئوته
- داده ها
راهنما راهنما – اگر جهت قاب IEEE 802.11 است ، ضبط کنید راهنما, که یک عدد است یا:
- گره زدن
- بچه های کوچک
- دزد
- dstods
بیان Tcpdump
بخش عبارات یک دستور tcpdump این امکان را به شما می دهد که کمی برنامه نویسی را به انتخاب بسته خود اضافه کنید. اما برخلاف یک برنامه معمولی ، این مجموعه دستورالعمل ها باید در یک خط نوشته شوند. اگر شما کاربر مکرر یونیکس یا لینوکس باشید ، از عبارات منظم اسکریپت پوسته عادت خواهید داشت و نباید در درک قالب این فیلترها مشکلی داشته باشد..
بسته هایی که مطابق تست تعیین شده توسط عبارت هستند ، ضبط می شوند. بنابراین نتیجه هر عبارت باید “واقعی” باشد.
چند حالت بیان وجود دارد که عموماً در اسکریپت نویسی پوسته با آن روبرو نیستند و اینها در زیر ذکر شده است:
لن
این طول بسته را برمی گرداند. مثال استفاده: لن! = 5.
proto [expr: size]
در این شیء:
پیشو نام یک لایه پروتکل است. میتونه باشه:
- اتر
- fddi
- IP
- قوس
- تند
- tcp
- udp
- icmp
صادرات جبران بایت است. این نیاز به گنجانده شده است ، اما می تواند به عنوان 0 داده شود تا مقدار را از ابتدای جسم بگیرد.
اندازه اختیاری است و تعداد بایت های موجود در گزینه را نشان می دهد. مقدار پیش فرض 1 است ، اما می تواند 2 ، 3 یا 4 باشد.
مثال های استفاده:
اتر [0] & 1! = 0 برای همه ترافیک های چند مرحله ای صادق است.
ip [0] & 0xf! = 5 برای همه بسته های IP با گزینه ها صادق است.
IP [6: 2] & 0x1fff = 0 در مورد داده های بدون قطعه و صفر از داده های قطعه قطعه صادق است.
مثالهای Tcpdump
در همه این موارد ، نتایج فرمان روی صفحه نمایش داده می شود ، مگر اینکه گزینه مربوط به پرونده گنجانده شده باشد یا مگر اینکه دستور با تغییر مسیر خروجی ایستاده یا لوله به یک فایل راه اندازی شود..
بسته هایی را که از رایانه یا رایانه مشخص شده به عنوان lab1 نشان داده شده است نمایش دهید:
tcpdump میزبان lab1
نمایش تمام بسته های IP که در حال سفر بین lab1 و هر گره ای به غیر از پذیرش هستند:
tcpdump ip host lab1 و دریافت نمی کند
نمایش همه ترافیک های ftp از طریق styx دروازه اینترنت:
tcpdump “gatex styx و (داده ftp یا ftp-data)”
بسته های SYN و FIN هر مکالمه TCP را که شامل یک میزبان غیر محلی است ، نمایش دهید:
tcpdump ‘tcp [tcpflags] & (tcp-syn | tcp-fin)! = 0 و نه محلی و src و dst netnet “
بسته های پخش IP یا چندپخشی را که از طریق پخش اترنت یا چندکاره ارسال نشده اند ، نمایش دهید:
tcpdump ‘اتر [0] & 1 = 0 و IP [16] >= 224 “
قالب خروجی Tcpdump
قالب ضبط مورد استفاده برای نوشتن بسته ها به پرونده ها به یک استاندارد تبدیل شده است که توسط بسیاری از خرچنگ ترین بسته های جدیدتر و تحلیلگرهای ترافیکی به تصویب رسیده است..
استاندارد ساده نیست و برای هر پروتکل سازگار است. با این حال ، برنامه های کاربردی که قالب را پذیرفته اند نیز این تغییرات را به خود اختصاص می دهند. فرمت نامیده می شود لپ تاپ, که نام فرآیند ضبط بسته مورد استفاده tcpdump است. پرونده ها در این قالب معمولاً دارای .لپ تاپ افزونه.
Tcpdump برای ویندوز
اقتباسی از tcpdump وجود دارد که در ویندوز اجرا می شود. به این گفته می شود WinDump و به آن اعتماد دارد WinPcap برای ضبط بسته ها به همان روشی که tcpdump از عملکرد pcap libpcap استفاده می کند. WinPcap در واقع متعلق به Riverbed Technology است. این شرکت سرمایه گذار اصلی Wireshark است که احتمالاً مشهورترین و پرکاربردترین پیمایشگر بسته در جهان است. یک نسخه بی سیم از WinPcap وجود دارد ، که نامیده می شود AirPcap. می توانید WinDump ، WinPcap و AirPcap را به صورت رایگان از وب سایت WinPcap بارگیری کنید.
با استفاده از تیراندازهای بسته
ابزار خط فرمان tcpdump برای کسانی که با آن آشنا هستند مفید است یونیکس و لینوکس سیستم عامل ها و لذت بردن از نوشتن اسکریپت های پوسته. کسانی که در کنار هم قرار دادن دستورات با عبارات منظم در خط فرمان چندان تجربه ندارند ، استفاده از این برنامه دشوار خواهند بود.
شما گزینه های دیگری نیز دارید زیرا تعداد زیادی خرچنگ بسته وجود دارد ، مانند Wireshark که در بالا به آن اشاره شد. در این بررسی از خرخرگاههای بسته می توانید اطلاعات بیشتری در مورد گزینه های دیگر برای tcpdump کسب کنید.
آیا شما یک sniffer بسته مورد علاقه دارید؟ آیا شما از طرفداران tcpdump هستید یا گزینه های کاربر پسند بیشتری را ترجیح می دهید؟ پیامی را در نظرات بخش زیر و تجربیات خود را به اشتراک بگذارید.
تصویر: ضبط بسته tcpdump توسط تصاویر صفحه لینوکس از طریق Flickr. دارای مجوز تحت CC BY 2.0
این یک ابزار خوب برای بررسی ترافیک شبکه است که در سیستم عامل های یونیکس (لینوکس، Mac OS) قابل استفاده است. برنامه tcpdump رایگان است و به راحتی نصب می شود. با استفاده از این برنامه می توانید بسته های شبکه را ضبط کرده و محتوای آنها را بررسی کنید. این برنامه دارای گزینه ها و پارامترهای مختلفی است که می توانید با استفاده از آنها رفتار برنامه را تغییر دهید. اگر سیستم عامل شما یونیکس است، حتما این برنامه را امتحان کنید.