כיצד להשתמש בפקוד Netstat

דוגמאות, מתגים ועוד

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

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

זמינות פקודות Netstat

הפקודה netstat זמינה מתוך שורת הפקודה ברוב הגירסאות של Windows, כולל Windows 10 , Windows 8 , Windows 7 , Windows Vista , Windows XP , מערכות ההפעלה Windows Server וכן כמה גירסאות ישנות יותר של Windows.

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

תחביר

[ - ] [ -s ] [ -s ] [ -t ] [ -s ] [ -y ] [ -f ] [ -n ] [ -p ] [ time_interval ] [ /? ]

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

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

-a = בורר זה מציג חיבורי TCP פעילים, חיבורי TCP עם מצב ההאזנה, כמו גם יציאות UDP שהוקלטו.

-b = מתג Netstat זה דומה מאוד למתג -O המפורט למטה, אך במקום להציג את ה- PID, יציג את שם הקובץ בפועל של התהליך. שימוש ב- over -o אולי נראה כאילו זה חוסך לך צעד או שניים, אבל באמצעות זה יכול לפעמים מאוד להאריך את הזמן שנדרש netstat לבצע באופן מלא.

-e = השתמש בבורר זה באמצעות הפקודה netstat כדי להציג נתונים סטטיסטיים אודות חיבור הרשת שלך. נתונים אלה כוללים בתים, מנות ליעד בודד, מנות Unicast, discards, שגיאות ופרוטוקולים לא ידועים שהתקבלו ונשלחו מאז שהוקם החיבור.

-f = the-switch יאלץ את הפקודה netstat להציג את שם התחום המלא (FQDN) עבור כל כתובות IP זרות במידת האפשר.

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

-O = אפשרות שימושית עבור משימות רבות לפתרון בעיות, מתג -O מציג את מזהה התהליך (PID) המשויך לכל חיבור מוצג. עיין בדוגמה הבאה לקבלת מידע נוסף על השימוש ב- netstat -o .

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

Protocol = בעת ציון פרוטוקול עם אפשרות p , ניתן להשתמש ב- tcp , udp , tcpv6 או udpv6 . אם אתה משתמש ב- -s עם כדי להציג נתונים סטטיסטיים לפי פרוטוקול, תוכל להשתמש ב- ICMP , ip , icmpv6 או ipv6 בנוסף לארבעה הראשונים שהזכרתי.

-r = בצע את netstat עם -r כדי להציג את טבלת ניתוב ה- IP. הדבר זהה לשימוש בפקודה במסלול לביצוע הדפסה במסלול .

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

-t = השתמש במתג -T כדי להציג את מצב הטעינה הנוכחי של TCP TCP במקום מצב TCP המוצג בדרך כלל.

-x = השתמש באפשרות -x כדי להציג את כל המאזינים, החיבורים ונקודות הקצה המשותפות של NetworkDirect.

-y = ניתן להחליף את מתג ה- i כדי להציג את תבנית החיבור TCP עבור כל החיבור. אתה לא יכול להשתמש - i עם כל אפשרות אחרת netstat.

time_interval = זה הזמן, בשניות, שאתה רוצה את הפקודה netstat לבצע מחדש באופן אוטומטי, לעצור רק כאשר אתה משתמש Ctrl-C כדי לסיים את הלולאה.

/ = השתמש בבורר העזרה כדי להציג פרטים על אפשרויות הפקודה של netstat.

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

דוגמאות פיקוד Netstat

netstat -f

בדוגמה הראשונה, אני מפעיל את netstat כדי להציג את כל חיבורי ה- TCP הפעילים. עם זאת, אני רוצה לראות את המחשבים שאני מחובר אליהם בפורמט FQDN [ -f ] במקום כתובת IP פשוטה.

הנה דוגמה למה שאתה עשוי לראות:

Active Connections פרוטו כתובת מקומית כתובת TCP 127.0.0.1:5357 VM-Windows-7: 49229 TIME_WAIT TCP 127.0.0.1:49225 VM-Windows-7: 12080 TIME_WAIT TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168 1.14.14: 49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49230 TIM-PC: wsd TIME_WAIT TCP 192.168.1.14:49231 TIM-PC: icslap הוקם TCP 192.168.1.14:49232 TIM-PC: Netbios-ssn TIME_WAIT TCP_WAIT TCP 192.168.1.14:49233 TIM-PC: netbios-ssn TIME_WAIT TCP [:: 1]: 2869 VM-Windows-7: 49226 הוקם TCP [:: 1] : 49226 VM-Windows-7: icslap הוקם

כפי שאתה יכול לראות, היו לי 11 חיבורי TCP פעיל בזמן הוצאתי להורג Netstat. הפרוטוקול היחיד (בעמודה פרוטו ) המפורטים הוא TCP, אשר היה צפוי כי לא השתמשתי -A .

ניתן גם לראות שלוש קבוצות של כתובות IP בעמודה כתובת מקומית - כתובת ה- IP האמיתית שלי של 192.168.1.14 וכן גירסאות IPv4 ו- IPv6 של כתובות הלולאה שלי, יחד עם היציאה שכל חיבור משתמש בה. העמודה ' כתובת חוץ' מציגה את ה- FQDN ( 75.125.212.75 לא נפתרה מסיבה כלשהי) יחד עם יציאה זו.

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

netstat -o

בדוגמה זו, אני רוצה להפעיל את netstat כרגיל כך שהוא מציג רק חיבורי TCP פעילים, אבל אני גם רוצה לראות את מזהה התהליך המתאים [ -o ] עבור כל חיבור כדי שאוכל לקבוע איזו תוכנית במחשב שלי יזמה כל אחד.

הנה מה שהמחשב שלי מציג:

Active Connections פרוטו כתובת מקומית כתובת PID TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT 2948 TCP 192.168.1.14:49196 a795sm: HTTP CLOSE_WAIT 2948 TCP 192.168.1.14:49197 a795sm: HTTP CLOSE_WAIT 2948

אתה כנראה שם לב את הטור החדש PID . במקרה זה, ה- PIDs כולם אותו דבר, כלומר, אותה תוכנית במחשב שלי פתחה חיבורים אלה.

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

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

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

netstat -s-p tcp -f

בדוגמה השלישית, אני רוצה לראות נתונים סטטיסטיים ספציפיים לפרוטוקול [ -s ] אבל לא את כולם, רק נתונים סטטיסטיים של TCP [ -p tcp ]. אני גם רוצה את הכתובות הזרות המוצגות בפורמט FQDN [ -f ].

זה מה הפקודה netstat, כפי שמוצג לעיל, המיוצר על המחשב שלי:

TCP סטטיסטיקה עבור IPv4 פעיל נפתח = 77 פסיבי נפתח = 21 נכשל ניסיונות חיבור = 2 אפס חיבורים = 25 חיבורים שוטפים = 5 פלחים שהתקבלו = 7313 פלחים נשלח = 4824 פלחים שהוחזרו = 5 חיבורים פעילים פרוטו כתובת מקומית כתובת זרה מדינה TCP 127.0.0.1: 28935 VM-Windows-7: 49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7: 49238 הוקם TCP 127.0.0.1:49238 VM-Windows-7: icslap הוקם TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT

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

netstat -e-5

בדוגמה אחרונה זו, הוצאתי את פקודת ה- netstat כדי להציג כמה סטטיסטיקות בסיסיות של ממשק הרשת [ -e ] ורציתי שהנתונים הסטטיסטיים האלה יעודכנו כל הזמן בחלון הפקודה כל חמש שניות [ -t 5 ].

הנה מה שמוצג על המסך:

סטטיסטיקות ממשק שהתקבלו נשלחו בתים 22132338 1846834 מנות שידור ליעד יחיד 19113 9869 מנות חד-שידור 0 0 מחיקות 0 0 שגיאות 0 0 פרוטוקולים לא ידועים 0 ממשק סטטיסטיקות שהתקבלו נשלחו בתים 22134630 1846834 מנות שידור בודד 19128 9869 מנות חד-שידור 1 0 Discards 0 0 Error 0 0 לא ידוע פרוטוקולים 0 ^ C

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

אני רק לתת את הפקודה netstat באופן אוטומטי לבצע עוד פעם אחת, כפי שניתן לראות על ידי שני שולחנות בתוצאה. שים לב ^ C בתחתית, המציין כי השתמשתי Ctrl-C לבטל את הפקודה כדי לעצור את הפעלה מחדש של הפקודה.

פקודות קשורות

הפקודה netstat משמש לעתים קרובות עם אחרים הקשורים לרשת פקודות הפקודה הפקודה כמו nslookup, פינג , tracert , ipconfig, ואחרים.

[1] ייתכן שיהיה עליך להוסיף ידנית את העמודה PID למנהל המשימות. אתה יכול לעשות זאת על ידי בחירת "PID (תהליך מזהה)" תיבת הסימון מתוך תצוגה -> בחר עמודות במנהל המשימות. ייתכן שיהיה עליך ללחוץ על הלחצן "הצג תהליכים מכל המשתמשים" בכרטיסייה תהליכים אם ה- PID שאתה מחפש אינו מופיע ברשימה.