כיצד להשתמש tcpdump ו- 6 דוגמאות

כיצד להשתמש tcpdump ו- 6 דוגמאות

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





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





מהי פקודת tcpdump?

Tcpdump הוא כלי ניטור רשת רב עוצמה המאפשר למשתמש לסנן חבילות ותעבורה ברשת ביעילות. אתה יכול לקבל מידע מפורט הקשור ל- TCP/IP והחבילות המועברות ברשת שלך. Tcpdump הוא כלי שורת פקודה, כלומר אתה יכול להריץ אותו בשרתי לינוקס ללא תצוגה.





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

כיצד להתקין tcpdump על לינוקס

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



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

which tcpdump

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





כדי להתקין tcpdump בהפצות מבוססות Debian כגון אובונטו:

sudo apt-get install tcpdump

התקנת tcpdump ב- CentOS קלה גם כן.





sudo yum install tcpdump

על הפצות מבוססות קשת:

sudo pacman -S tcpdump

להתקנה ב- Fedora:

sudo dnf install tcpdump

שים לב שחבילת tcpdump דורשת libcap כתלות, לכן הקפד להתקין אותו גם במערכת שלך.

דוגמאות Tcpdump ללכידת מנות רשת בלינוקס

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

1. רשימת כל ממשקי הרשת

כדי לבדוק אילו ממשקי רשת זמינים ללכידה, השתמש ב -D דגל עם הפקודה tcpdump.

tcpdump -D

עובר את -ממשקי רשימה flag כארגומנט יחזיר את אותו פלט.

tcpdump --list-interfaces

הפלט יהיה רשימה של כל ממשקי הרשת הקיימים במערכת שלך.

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

tcpdump --interface any

המערכת תציג את הפלט הבא.

אפליקציות הטעינת הצד הטובות ביותר ל Fire TV

קָשׁוּר: מהו המודל לחיבור מערכות פתוחות?

2. פורמט פלט tcpdump

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

17:00:25.369138 wlp0s20f3 Out IP localsystem.40310 > kul01s10-in-f46.1e100.net.https: Flags [P.], seq 196:568, ack 1, win 309, options [nop,nop,TS val 117964079 ecr 816509256], length 33

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

הפלט מכיל את המידע הבא.

  1. חותמת הזמן של החבילה שהתקבלה
  2. שם ממשק
  3. זרימת מנות
  4. שם פרוטוקול הרשת
  5. כתובת IP ופרטי יציאה
  6. דגלי TCP
  7. מספר רצף הנתונים בחבילה
  8. אקנה נתונים
  9. גודל חלון
  10. אורך החבילה

השדה הראשון ( 17: 00: 25.369138 ) מציג את חותמת הזמן כאשר המערכת שלחה או קיבלה את החבילה. הזמן המוקלט מופק מהזמן המקומי של המערכת שלך.

מה זה אומר לעקוב אחר מישהו בפייסבוק

השדות השני והשלישי מציינים את הממשק המשמש ואת זרימת החבילה. בקטע למעלה, wlp0s20f3 הוא שם הממשק האלחוטי ו- הַחוּצָה היא זרימת המנות.

השדה הרביעי כולל מידע הקשור לשם פרוטוקול הרשת. באופן כללי, תמצא שני פרוטוקולים- IP ו IP6 , כאשר IP מציין IPV4 ו- IP6 מיועד ל- IPV6.

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

השדה השישי בפלט מורכב מדגלי TCP. ישנם דגלים שונים המשמשים את הפלט tcpdump.

שם הדגלערךתיאור
מראהסהתחיל החיבור
סוֹףוהחיבור הסתיים
לִדחוֹףפהנתונים נדחפים
RSTרהחיבור מתאפס
אבוי.הכרה

הפלט יכול גם להכיל שילוב של מספר דגלי TCP. לדוגמה, דגל [ו] מייצג חבילת FIN-ACK.

אם נמשיך הלאה בקטע הפלט, השדה הבא מכיל את מספר הרצף ( פק '196: 568 ) של הנתונים בחבילה. למנה הראשונה תמיד יש ערך שלם חיובי, והמנות הבאות משתמשות במספר הרצף היחסי כדי לשפר את זרימת הנתונים.

השדה הבא מכיל את מספר האישור ( אק 1 ), או מספר Ack פשוט. למנה שנלכדה במכונת השולח יש 1 כמספר האישור. בקצה המקלט, מספר ה- Ack הוא ערך החבילה הבאה.

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

השדה האחרון ( אורך 33 ) מכיל את אורך החבילה הכוללת שנלכדה על ידי tcpdump.

3. הגבל את מספר החבילות שצולמו

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

tcpdump --interface any -c 10

הפקודה הנ'ל תתפוס עשר מנות מכל ממשק רשת פעיל.

4. סינון מנות המבוססות על שדות

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

כדי ללכוד רק מנות TCP, הקלד:

tcpdump --interface any -c 5 tcp

באופן דומה, אם ברצונך לסנן את הפלט באמצעות מספר היציאה:

tcpdump --interface any -c 5 port 50

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

כדי לקבל את פרטי החבילה עבור מארח מסוים:

tcpdump --interface any -c 5 host 112.123.13.145

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

tcpdump --interface any -c 5 src 112.123.13.145
tcpdump --interface any -c 5 dst 112.123.13.145

אתה יכול גם להשתמש באופרטורים הלויים ו ו אוֹ לשלב שני ביטויים או יותר יחד. לדוגמה, כדי לקבל מנות השייכות ל- IP המקור 112.123.13.145 ולהשתמש ביציאה 80 :

tcpdump --interface any -c 10 src 112.123.13.145 and port 80

ניתן לקבץ ביטויים מורכבים באמצעות סוגריים כדלהלן:

tcpdump --interface any -c 10 '(src 112.123.13.145 or src 234.231.23.234) and (port 45 or port 80)'

5. הצג את תוכן החבילה

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

לצפייה בתוכן חבילת הרשת הבאה שנלכדה על ידי המערכת:

tcpdump --interface any -c 1 -A
tcpdump --interface any -c 1 -x

קשור: מהו אובדן מנות וכיצד ניתן לתקן את הסיבה לכך?

6. שמור נתוני לכידה בקובץ

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

tcpdump --interface any -c 10 -w data.pcap

ה .pcap סיומת קובץ מייצגת לכידת מנות נתונים. תוכל גם להנפיק את הפקודה הנ'ל במצב מילולי באמצעות ה -v דֶגֶל.

tcpdump --interface any -c 10 -w data.pcap -v

כדי לקרוא א .pcap הקובץ באמצעות tcpdump, השתמש ב -r דגל ואחריו נתיב הקובץ. ה -r מייצג לקרוא .

מה זה אומר להתחיל רצף
tcpdump -r data.pcap

תוכל גם לסנן מנות רשת מנתוני המנות השמורים בקובץ.

tcpdump -r data.pcap port 80

מעקב אחר תעבורת רשת ב- Linux

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

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

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל כיצד להתחבר ל- Wi-Fi באמצעות מסוף לינוקס באמצעות Nmcli

רוצה להתחבר לרשת Wi-Fi באמצעות שורת הפקודה של Linux? הנה מה שאתה צריך לדעת על הפקודה nmcli.

קרא הבא
נושאים קשורים
  • לינוקס
  • בִּטָחוֹן
  • רשת משפטית
על הסופר דיפש שארמה(79 מאמרים פורסמו)

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

עוד מאת דיפש שארמה

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה