הלינוקס tcpdump command הוא כלי רב עוצמה לניתוח חבילות רשת המשמש לניטור ופתרון בעיות של תעבורת רשת. הוא מאפשר למשתמשים ללכוד ולהציג חבילות הנעות דרך ממשק רשת, ומספק תובנות חשובות לגבי פעילות הרשת. זהו כלי נפוץ לאבחון רשת, ניתוח אבטחה וניתוח תעבורה.
שימוש מפתח ותחביר של tcpdump פיקוד #
השמיים tcpdump הפקודה עוקבת אחר מבנה תחביר בסיסי:
tcpdump [OPTIONS] [EXPRESSION]
- אפשרויות לשנות את ההתנהגות של tcpdump, כגון -i כדי לציין את הממשק או -w כדי לכתוב פלט לקובץ.
- ביטוי מסנן את החבילות שנלכדו על סמך קריטריונים כמו כתובת IP של מקור/יעד, פורט או פרוטוקול. אם מושמט, הוא לוכד את כל החבילות.
tcpdump טבלת Cheatsheet של פקודות #
| פיקוד | תיאור |
tcpdump -i eth0 |
לכידת חבילות בממשק הרשת eth0 |
tcpdump -i eth0 port 80 |
לכידת תעבורת HTTP (פורט 80) בממשק eth0 |
tcpdump -w capture.pcap |
כתיבת חבילות שנלכדו לקובץ (capture.pcap) |
tcpdump -r capture.pcap |
קריאה והצגה של חבילות מקובץ שנלכד בעבר |
tcpdump -n |
הצגת כתובות IP ופורטים מבלי לפענח שמות מארחים או שמות שירותים |
tcpdump -c 100 |
לכידת 100 חבילות בלבד ואז עצירה |
tcpdump -v |
ספק פלט מפורט, המציג פרטים נוספים על החבילה |
tcpdump -X |
הצג תוכן חבילות הן בהקסדצימלי והן ב-ASCII |
השמיים tcpdump אפשרויות פקודה #
-iציין ממשק #
כדי ללכוד חבילות בממשק רשת ספציפי, השתמש ב- -i אפשרות ואחריה שם הממשק (למשל, eth0, wlan0):
tcpdump -i eth0
פקודה זו לוכדת את כל החבילות ב- eth0 מִמְשָׁק.
-wכתיבת פלט לקובץ #
כדי לשמור חבילות שנתפסו בקובץ לצורך ניתוח מאוחר יותר, השתמש ב- -w אפשרות:
tcpdump -w capture.pcap
פעולה זו כותבת את כל החבילות שנלכדו לקובץ בשם capture.pcap.
-rקרא חבילות מקובץ #
כדי לקרוא חבילות מקובץ שכבר נקלט, השתמש ב- -r אפשרות:
tcpdump -r capture.pcap
פקודה זו קוראת ומציגה את החבילות המאוחסנות ב- capture.pcap קובץ.
-nהצג פלט מספרי #
השמיים -n אפשרות מונעת tcpdump מביצוע רזולוציית DNS עבור כתובות IP ושמות שירותים, הצגת כתובות גולמיות במקום זאת:
tcpdump -n
זה שימושי כאשר ברצונך לראות את כתובות ה-IP והפורטים הגולמיים מבלי לפענח אותם לשמות מארחים.
-cלכידת מספר ספציפי של חבילות #
כדי ללכוד רק מספר מסוים של חבילות ולאחר מכן לעצור, השתמש ב- -c אפשרות:
tcpdump -c 100
זה לוכד רק 100 חבילות, ולאחר מכן הוא יפסיק אוטומטית את הלכידה.
-vפלט מפורט #
השמיים -v האפשרות מספקת מידע מפורט יותר על חבילות, כולל שדות נוספים כמו TTL, גודל חלון ואפשרויות:
tcpdump -v
זה מועיל כשאתה זקוק למידע מפורט יותר על כל חבילה.
-Xהצג פלט הקסדצימלי ו-ASCII #
השמיים -X האפשרות מציגה את תוכן כל חבילה הן בפורמט הקסדצימלי והן בפורמט ASCII:
tcpdump -X
זה יכול להיות שימושי לבדיקת הנתונים המדויקים בתוך כל חבילה.
דוגמאות לשימוש ב- tcpdump פיקוד #
לכידת חבילות בממשק ספציפי #
כדי ללכוד את כל החבילות ב- eth0 border you
tcpdump -i eth0
פקודה זו לוכדת ומציגה את כל תעבורת הרשת שעוברת דרכה eth0.
לכידת תעבורת HTTP (פורט 80) #
כדי ללכוד חבילות HTTP (בדרך כלל בפורט 80) על eth0 border you
tcpdump -i eth0 port 80
פעולה זו מסננת את התעבורה כדי להציג רק חבילות המיועדות או המגיעות מפורט 80, המשמש בדרך כלל לתעבורת HTTP.
לכידת ושמירה של תעבורה לקובץ #
כדי לשמור את כל התעבורה שנלכדה לתוך .pcap קובץ לניתוח מאוחר יותר:
tcpdump -w capture.pcap
זה יוצר קובץ capture.pcap המכיל את החבילות שנתפסו.
קרא חבילות שנלכדו מקובץ #
כדי לקרוא ולנתח חבילות שנלכדו בעבר מה- capture.pcap קובץ:
tcpdump -r capture.pcap
פקודה זו פותחת את הקובץ ומציגה את החבילות שנלכדו.
פלט מפורט למידע מפורט על חבילות #
כדי לראות פרטים נוספים על כל חבילה שנלכדה, השתמש ב -v אפשרות:
tcpdump -v
פעולה זו תציג מידע נוסף, כגון TTL, גודל חלון ועוד.
לכידת תנועה למשך זמן מסוים #
כדי ללכוד תעבורה למשך זמן מסוים או מספר חבילות מסוים, ניתן להגביל את הלכידה באמצעות -c אפשרות:
tcpdump -i eth0 -c 50
פקודה זו לוכדת 50 חבילות על eth0 ממשק ולאחר מכן נעצר אוטומטית.
לכידה והצגה של נתונים הקסדצימליים ו-ASCII #
כדי להציג את תוכן החבילות הן בפורמט הקסדצימלי והן בפורמט ASCII:
tcpdump -X
פעולה זו תציג גם את הייצוג ההקסדצימלי וגם את המקבילה ASCII של הנתונים של כל חבילה.
שימוש tcpdump לפתרון בעיות רשת #
השמיים tcpdump הפקודה שימושית במיוחד לאבחון בעיות רשת. הנה כמה דוגמאות מעשיות:
זיהוי בעיות אובדן חבילות או השהייה #
על ידי לכידה וניתוח של חבילות רשת, ניתן לזהות בעיות של אובדן חבילות או השהייה. לדוגמה, ניתן ללכוד חבילות ICMP כדי לצפות בזמני הלוך ושוב:
tcpdump -i eth0 icmp
מסנן זה עבור חבילות ICMP, המשמשות בדרך כלל לפתרון בעיות בקישוריות רשת (למשל, ping).
ניתוח תעבורה בין שני מארחים #
כדי ללכוד תנועה בין שני מארחים ספציפיים, ניתן להשתמש ב- host לְסַנֵן:
tcpdump -i eth0 host 192.168.1.10
זה לוכד את כל התנועה הכרוכה ב- 192.168.1.10 על eth0 מִמְשָׁק.
ניטור בקשות DNS #
כדי ללכוד שאילתות DNS, סנן עבור תעבורת UDP בפורט 53:
tcpdump -i eth0 port 53
פקודה זו לוכדת שאילתות ותגובות DNS ב- eth0 מִמְשָׁק.
<br> סיכום #
לסיכום, לינוקס tcpdump הפקודה היא כלי רב-תכליתי וחזק ביותר לניתוח רשתות ופתרון בעיות. יכולתה ללכוד ולסנן חבילות רשת הופכת אותה לחיונית עבור מנהלי מערכת ואנשי מקצוע בתחום האבטחה. בין אם אתם לוכדים את כל התעבורה בממשק, מנתחים פרוטוקולים או פורטים ספציפיים, או שומרים נתונים לבדיקה מאוחרת יותר, tcpdump מספק פתרון חזק וגמיש לעבודה עם תעבורת רשת.
שימוש tcpdump מאפשר לך ביעילות לאבחן בעיות, לייעל את תצורות הרשת ולשפר את האבטחה על ידי ניטור התנהגות הרשת בזמן אמת.