לינוקס מגיעה מצוידת בשפע של כלי עזר לרשת לבחירה. tcpdump הוא כלי רשת חזק כזה שיכול ללכוד ולנתח תעבורת רשת אם תצטרך לפתור שגיאות רשת בלינוקס.

בואו נתחיל עם הפקודה tcpdump ונחקור כיצד להשתמש בה כדי ללכוד תעבורת רשת.

התקנת tcpdump בלינוקס

tcpdump מגיע בדרך כלל עם התקנה מראש כל ההפצות המיינסטרים של לינוקס וחלופות מבוססות אבטחה. אז אתה אמור להיות מסוגל להשתמש בו מיד על ידי הקלדה tcpdump עם סודו קידומת.

במקרה שאינך מצליח להפעיל את הפקודה tcpdump ונתקעים ב-"tcpdump: הפקודה לא נמצאהשגיאה, בוא נלמד כיצד להתקין tcpdump במחשב הלינוקס שלך.

כדי להתקין tcpdump, הפעל את הטרמינל והפעל את הפקודה המתאימה להפצת לינוקס שבה אתה משתמש כעת:

על נגזרות של Debian/Ubuntu, הפעל:

sudo apt-לקבל להתקין tcpdump

עַל מערכות מבוססות קשת, הפעל:

sudo pacman -S tcpdump

כדי להתקין את כלי השירות tcpdump ב-Fedora, CentOS ו-RHEL, הפק את הפקודה הבאה:

sudo dnf להתקין tcpdump

שימו לב שאם תתבקשו להתקין libcap, הקלד כן אוֹ י מכיוון שזו תלות ליבה, שבלעדיה tcpdump יסרב להפעיל. זה אמור להתקין את כלי השירות tcpdump ולפתור את השגיאה "הפקודה לא נמצאה".

instagram viewer

כעת, לאחר ש-tcpdump הותקן במערכת שלך, הבה נחקור את האפשרויות והפונקציונליות השונות שהיא מציעה.

לכידת תנועת רשת עם tcpdump

tcpdump מציע הרבה דגלים כדי לשנות את הביצוע שלו, אך ניתן להפעיל אותו גם כפקודה עצמאית. עם זאת, הפעלת tcpdump ללא כל דגלים או טיעונים תהיה הזנחת מלוא הפוטנציאל שלו. תמיד עדיף להשתמש בכמה דגלים כדי לכוונן את הביצוע והפלט לפי הצורך.

הקלד פקודה זו כדי לפקח על שידורי רשת עם tcpdump:

sudo tcpdump

כעת tcpdump יתחיל ללכוד אוטומטית מנות רשת עד אות פסיקה נשלח עם Ctrl + Z לשבור את התהליך באופן ידני. כדי להגביל את המספר הכולל של מנות שנלכדו, השתמש ב- דגל והקלד את מגבלת החבילות הרצויה לידו:

sudo tcpdump -c 5

אם אתה לא יכול להבין את הפלט כרגע, אתה צריך הכירו את פורמט הפלט tcpdump ראשון.

בדוק ממשקי רשת זמינים עם tcpdump

כברירת מחדל, tcpdump לוכד תעבורה מכל אחד מממשקי הרשת הזמינים. אם יש לך מספר ממשקי רשת פעילים בשימוש, אולי תרצה להגדיר את ממשק הרשת שממנו tcpdump אמור ללכוד מנות. כדי להתחיל את tcpdump בממשק ספציפי, תצטרך ללמוד תחילה על שם הממשק.

הנה איך לרשום את כל ממשקי הרשת הזמינים עם tcpdump:

sudo tcpdump -D

לחלופין, אתה יכול להוסיף את --ממשקי רשימה דגל לפקודה:

sudo tcpdump --רשימה-ממשקים

הפלט שהוחזר מכיל רשימה של כל ממשקי הרשת הפעילים ש-tcpdump יכול להאזין להם. כדי להגדיר את tcpdump ללכוד שידורים מממשק רשת מסוים, הקלד פקודה זו:

sudo tcpdump -i interface_id

לחלופין, אתה יכול להוסיף את --מִמְשָׁק דגל לפקודה:

sudo tcpdump --מִמְשָׁקinterface_id

כעת, לאחר שלכדנו כמה מנות, בואו נלמד אותן מקרוב ונלמד כיצד ניתן לכוונן את הפלט כך שיהיה קריא יותר.

בחינת מסנני tcpdump

tcpdump מסוגל ללכוד כמות עצומה של תעבורה בריצה אחת. עומס מידע כזה יכול להפיל אותך מהמסלול בעת חקירה או פתרון בעיות עם מארח או פרוטוקול רשת ספציפיים.

כאן נכנסים לתמונה מסנני tcpdump. אתה יכול להוסיף את הפקודה tcpdump עם דגלים מסוימים כדי לסנן את תעבורת הרשת וללכוד מנות ספציפיות. לאחר מכן תוכל לאחסן את החבילות הללו ולנתח אותן מאוחר יותר כדי להגיע לשורש כל הבעיות הקשורות לרשת. בואו ללמוד כיצד להשתמש במסננים ב-tcpdump.

סנן מנות המבוססות על פרוטוקול הרשת שנמצא בשימוש

כדי לסנן מנות המועברות באמצעות פרוטוקול מסוים, הקלד את שם הפרוטוקול עם הפקודה tcpdump, והוא ילכד רק מנות שנעו דרך פרוטוקול הרשת המוגדר.

לדוגמה, כדי ללכוד מנות מבוססות ICMP, פשוט תצרף icmp בסוף הפקודה tcpdump. התהליך זהה אם ברצונך ללכוד רק מנות UDP או TCP.

sudo tcpdump -c 5 icmp

פקודה זו תחזיר פלט רק אם יש חילופי נתונים באמצעות פרוטוקול ICMP.

סנן מנות על סמך המארח

אתה יכול להגדיר את tcpdump כדי ללכוד מנות הקשורות למארח יחיד באמצעות ה מנחה פָּרָמֶטֶר. זה שימושי במיוחד כאשר כל המערכות של הרשת שלך פועלות מלבד אחת. מסנן זה מאפשר לך לבצע חקירה ממוקדת ומאיץ את זרימת העבודה הכוללת של פתרון הבעיות מכיוון שאינך מוסח על ידי נתונים מיותרים.

כדי ללכוד מנות הקשורות למארח ספציפי, הגדר את כתובת הרשת של המארח באמצעות ה- מנחה פָּרָמֶטֶר:

סודוtcpdump 5 מנחה 192.168.2.1

בדומה למסנן פרוטוקול הרשת, פקודה זו תחזיר פלט רק אם שידור מתמשך כלשהו קשור למארח המוגדר.

סינון מנות על סמך היציאה הפעילה

tcpdump מצויד בפרמטר המאפשר לסנן תעבורת רשת וללכוד רק מנות המועברות ליציאה ספציפית או ממנה.

כדי ללכוד מנות המגיעות מיציאה ספציפית, הוסף את ה נמל דגל לפקודה tcpdump והגדר את מספר היציאה לצידה. לדוגמה, כדי ללכוד כל תעבורת HTTP נכנסת או יוצאת, הגדר יציאה 80:

sudo tcpdump -c 5 יציאה 80

tcpdump יקשיב ביציאה 80, ממתין לשידורי HTTP. ברגע שהוא יזהה מנות HTTP ברשת, הוא ילכד אותן.

שלב מסננים יחד למיון מתקדם

הסעיפים הקודמים דנו כיצד ניתן לסנן תעבורה על סמך יציאה, פרוטוקול או מארח, אבל מה אם רצית ללכוד תעבורה מיציאה בודדת של מארח ספציפי באמצעות רשת מסוימת נוהל? ובכן, יש לך מזל כי זה אפשרי, מייחס ליכולת להשתמש באופרטורים לוגיים עם הפקודה tcpdump.

כדי ללכוד מנות ממארח ​​בודד באמצעות יציאה 443, השתמש בפקודה זו:

סודוtcpdump 5 מנחה 192.168.2.1ונמל 443

בדוק את התוכן של מנות שנתפסו

כברירת מחדל, tcpdump מציג את הכותרות של מנה בפלט. למרות שזה די והותר ברוב המקרים, לפעמים, אולי תרצה או תצטרך להסתכל עמוק יותר לתוך הנתונים שנלכדו. אתה יכול להעביר פרמטרים מסוימים עם הפקודה tcpdump כדי לבדוק את התוכן של החבילה שנלכדה.

כך ניתן לראות את תוכן החבילות:

sudo tcpdump -c 5 -x

פקודה זו מחזירה את גרסת ה-hex של התוכן בחבילה שנלכדה. אם ברצונך להציג את טופס ה-ASCII של הנתונים, אתה יכול להעביר את פרמטר עם:

sudo tcpdump -A

שמור פלט tcpdump לקובץ

כמו כמעט כל כלי אחר של שורת הפקודה של לינוקס, אתה יכול לאחסן את הפלט שהופק על ידי tcpdump בקובץ שאליו ניתן להתייחס מאוחר יותר.

ניתן לעשות זאת על ידי הוספת ה -וו דגל לפקודה. לאחר הביצוע, tcpdump יאחסן את הנתונים שנלכדו ב-a .pcap קובץ שניתן לנתח מאוחר יותר עם tcpdump או כלי ניטור רשת אחרים כמו Wireshark.

הקלד פקודה זו כדי לאחסן את הפלט של פקודת tcpdump שלך בקובץ:

סודוtcpdump-וולִלְכּוֹד.pcap

לקרוא א .pcap קובץ, אתה יכול להשתמש ב-tcpdump עם הקובץ פָּרָמֶטֶר:

סודוtcpdumpלִלְכּוֹד.pcap

לינוקס מגיעה עם שפע של כלי רשת שיכולים לפתור כל בעיה ברשת כל עוד זה בצד התוכנה של העניינים. לדעת כיצד להשתמש בכמה מכלי הרשת הטובים ביותר בלינוקס בהחלט יועיל, בין אם אתה מנהל מערכת שמנהל רשתות למחייתך או סתם משתמש לינוקס רגיל.

מכיוון שהרשימה בפועל של פקודות רשת זמינות יכולה להיות יותר מדי מכדי להבין, הנה רשימה של כמה מכלי הרשת החשובים ביותר של לינוקס שכדאי להכיר.