שאלה כיצד לבדוק אם יציאה חסומה במחשב Windows?


על פלטפורמת Windows, אילו אפשרויות יליד אני צריך לבדוק אם יציאה (3306, למשל) על המחשב המקומי שלי (כמו localhost), נחסם?


92
2018-06-16 14:21




רק כדי להבהיר, אתה מתכוון לחסום, כמו נחסם על ידי חומת אש או שער, או שאתה מתכוון כבר בשימוש על ידי משהו אחר? - squillman
ה בדוק את המחשב שלי Firewall הבדיקה מאפשר לך לבדוק יציאה ספציפית או טווח יציאות ממקור חיצוני. - Peter Stuer


תשובות:


מאז אתה על מכונת Windows, הדברים האלה ניתן לעשות,

  • בצע את הפקודה הבאה ולחפש ": 3306" מאזין (לא הזכרת UDP / TCP). זה יאשר שיש משהו לרוץ על הנמל.

    netstat -a-n

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

    • עבור אל חומת האש של Windows, הגדרות מתקדמות
    • לחץ על הלחצן Settings (הגדרות) שליד "Local Area Connection" (חיבור מקומי)
    • בחר "מנות מנות ירד"
    • תראו את מיקום קובץ היומן (אם לא קיים להגדיר אחד)
    • לחץ על אישור
    • עכשיו, כאשר נעשה ניסיון החיבור (בהנחה שאתה יודע מתי זה נעשה), להסתכל על קובץ יומן לירידה על יציאה 3306.
    • אם זה נראה, אתה רוצה להוסיף חריגה עבור יציאה זו.
  • יש עוד פקודה לבדוק את מצב חומת האש
    (עדכון עבור משתמשי Windows 7 - כפי שהוזכר על ידי Nick מתחת - שימוש חומת האש של)

    מצב חומת האש של Netsh

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

    תצוגת חומת האש של Netsh


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

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

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


100
2018-06-16 14:28



+1 לקבלת פרטים נהדרים - Sage
החל מ- Windows Vista הפקודה 'חומת אש של netsh' אינה מומלצת. זה ממליץ לך להשתמש "netsh advfirewall חומת אש" במקום הפניות המאמר go.microsoft.com/fwlink/?linkid=121488 - Nick DeVore
כדי לנתח פלט בשורת הפקודה, הוסף |find "3306" אל הפקודה, למשל C:\Windows\System32>netstat -an |find "3306" - Cees Timmerman
איני מוצא את לחצן ההגדרות שצוין בשלב 2 של ההמלצה השנייה ... - Bassie
@ באסי, נסה docs.microsoft.com/en-us/windows/access-protection/... - nik


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

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

ישנן דרכים רבות לעשות סריקה יציאה אבל מאז שהזכרת להיות ב- Windows אז אני מציע את השירות של שורת הפקודה של מיקרוסופט PortQry ואת הגרסה הגרפית PortQryUI

כדי לבדוק את כל היציאות הפתוחות:

portqry.exe -n #.#.#.#   

כדי לבדוק יציאה ספציפית:

portqry.exe -n #.#.#.# -e #

לדוגמה, כדי לבדוק את ממשק האינטרנט של הנתב ב 192.168.1.1:

portqry.exe -n 192.168.1.1 -e 80

מה שמחזיר:

TCP port 80 (http service): LISTENING

איפה כמו בדיקות על מכונה מקומית ללא חוזר HTTPD חוזר:

TCP port 80 (http service): NOT LISTENING

באמצעות כלי השירות PortScan תקבל אחד מתוך 3 תוצאות.

  • Listening פירושו שהשרת מקשיב ביציאה שצוינה
  • Filtered פירושו שקיבלה חבילת הכרה של TCP עם קבוצת הדגל אפס, שעלולה להצביע על חומת אש או על בעיה בתוכנה
  • Not Listening פירוש הדבר שהוא לא קיבל תשובה כלל

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

להשתמש telnet פשוט תוציא את הפקודה הבאה משורת פקודה:

telnet localhost 3306

הפקודה לעיל אמור לתת לך אינדיקציה מהירה אם היציאה 3306 על localhost הוא מגיב.


18
2018-04-04 00:47



אני מוריד PortQryUI ו בדקתי אחרי שחסמתי ומאפשר את יציאת 445 בשני tcp ו udp, זה מראה אותו האזנה ב tcp ולא מקשיב udp. - Liam neesan


מאז PowerShell 4.0 אתה יכול להשתמש בפקודה Test-NetConnection

אם אתה רוצה לבדוק את פורט 3306 כמו בדוגמה שלך הפקודה

Test-NetConnection -ComputerName localhost -Port 3306

תיעוד של TechNet Test-NetConnection


9
2018-01-17 14:56



+1 עבור זה. חלופה ממש נחמד זה אינו דורש התקנה של שום דבר על מכונות Windows המודרני ביותר. - DCaugs


אם אתה יכול Telnet ליציאה מהמחשב המקומי (באמצעות כתובת ה- IP החיצונית), אבל לא ממכונה אחרת - אז זה נחסם איפשהו בין.

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


5
2018-06-16 14:27



שים לב כי Telnet אינו מותקן יותר על מערכות Win7 ו חדש. - Alexis Wilke
@AlexisWilke זה לא נכון. ניתן להתקין את Telnet - deepdive
כדי להתקין Telnet משורת הפקודה: דיפ / באינטרנט / הפעל-תכונה / תכונהName: TelnetClient - Jason Massey