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

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

מהי פקודת tcpdump?

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

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

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

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

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

instagram viewer
איזה tcpdump

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

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

sudo apt-get להתקין tcpdump

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

sudo yum להתקין tcpdump

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

סודו פקמן -S tcpdump

להתקנה על פדורה:

sudo dnf להתקין tcpdump

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

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

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

1. ציין את כל ממשקי הרשת

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

tcpdump -D

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

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

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

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

tcpdump - ממשק כלשהו

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

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

2. פורמט הפלט tcpdump

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

17: 00: 25.369138 wlp0s20f3 Out IP localystem.40310> kul01s10-in-f46.1e100.net.https: דגלים [P.], המשך 196: 568, ack 1, win 309, options [nop, nop, TS val 117964079 ecr 816509256], אורך 33

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

tcpdump - ממשק כל -c 10

הפקודה האמורה תתפוס עשר חבילות מכל ממשק רשת פעיל.

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

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

כדי ללכוד רק חבילות TCP, הקלד:

tcpdump - ממשק כל -c 5 tcp

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

tcpdump - ממשק כל -c 5 יציאה 50

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

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

tcpdump - ממשק כל מארח -c 5 112.123.13.145

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

tcpdump - ממשק כל -c 5 src 112.123.13.145
tcpdump - ממשק כל -c 5 dst 112.123.13.145

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

tcpdump - ממשק כל -c 10 src 112.123.13.145 ויציאה 80

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

tcpdump - ממשק כל -c 10 "(src 112.123.13.145 או src 234.231.23.234) ו (יציאה 45 או יציאה 80)"

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

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

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

tcpdump - ממשק כל -c 1 -A
tcpdump - ממשק כל -c 1 -x

קָשׁוּר: מהי אובדן מנות וכיצד לתקן את הגורם לה?

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

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

tcpdump - ממשק כל -c 10 -w data.pcap

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

tcpdump - ממשק כל -c 10 -w data.pcap -v

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

tcpdump -r data.pcap

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

יציאת tcpdump -r data.pcap 80

מעקב אחר תעבורת רשת בלינוקס

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

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

אימייל
כיצד להתחבר ל- Wi-Fi דרך מסוף לינוקס עם Nmcli

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

קרא הבא

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

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

עוד מ- Deepesh Sharma

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

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

צעד אחד נוסף !!!

אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.

.