โปรแกรมที่กำหนดใช้พอร์ตใด [ปิด]


99

ฉันต้องการทราบว่าพอร์ตใดที่โปรแกรมหนึ่งใช้อยู่ มีโปรแกรมออนไลน์หรือที่มาพร้อมกับ windows ที่จะบอกฉันว่ากระบวนการใดที่ใช้พอร์ตใดบนคอมพิวเตอร์ของฉัน

ป.ล. - ก่อนที่คุณจะดาวน์โมดนี้เพราะไม่ใช่คำถามเกี่ยวกับการเขียนโปรแกรมฉันกำลังมองหาโปรแกรมเพื่อทดสอบโค้ดเครือข่าย


7
ไม่ว่าคุณจะใช้สิ่งนี้เป็นส่วนหนึ่งของโครงการเขียนโปรแกรมหรือไม่ก็ไม่ใช่ปัญหาในการเขียนโปรแกรม
Lightness Races ใน Orbit

คำตอบ:


149

netstat -b -aแสดงรายการพอร์ตที่ใช้งานและให้คุณปฏิบัติการที่ใช้แต่ละพอร์ต ฉันเชื่อว่าคุณต้องอยู่ในกลุ่มผู้ดูแลระบบเพื่อดำเนินการนี้และฉันไม่รู้ว่า Vista มีผลกระทบด้านความปลอดภัยอะไรบ้าง

ฉันมักจะเพิ่ม-nเช่นกันเพื่อให้เร็วขึ้นเล็กน้อย แต่การเพิ่ม-bอาจทำให้ช้าลง

แก้ไข : ถ้าคุณต้องการการทำงานมากขึ้นกว่า netstat ให้vasac แสดงให้เห็นว่าคุณพยายามTCPView


1
หากใครมีสิทธิ์แก้ไขคำตอบให้ลองเพิ่มคำตอบของ vasac ด้านล่าง (TCPView) สำหรับใครก็ตามที่ต้องการเวอร์ชันเต็มที่มีคุณสมบัติมากกว่านี้ด้วย gui จริง
AlexeyMK

ฉันเพิ่มลิงค์ไปยัง TCPView ในคำตอบของฉัน
Graeme Perrow

1
มีวิธีใดบ้างกับไฟร์วอลล์?
Mohammad Kermani

42

TCPViewสามารถทำสิ่งที่คุณขอได้


1
ขอบคุณ; netstat เพียงพอสำหรับความต้องการของฉัน แต่ถ้าฉันต้องการอะไรที่ไม่ยอมใครง่ายๆมากกว่านี้ฉันจะต้องใช้ TCPView ควรเพิ่มในคำตอบที่ยอมรับ แต่อนิจจาฉันยังไม่มีสิทธิ์แก้ไข
AlexeyMK

ฉันใช้ยูทิลิตี้ Netstat ที่มาพร้อมกับ XAMPP แต่ยูทิลิตี้แบบสแตนด์อโลนนี้มีประโยชน์มาก ขอบคุณ.
Shiyaz

25

ใน Vista คุณต้องมีสิทธิ์ที่สูงขึ้นเพื่อใช้ตัวเลือก -b กับ netstat ในการแก้ไขปัญหานั้นคุณสามารถเรียกใช้ "netstat -ano" ซึ่งจะแสดงพอร์ตที่เปิดอยู่ทั้งหมดพร้อมกับรหัสกระบวนการที่เกี่ยวข้อง จากนั้นคุณสามารถใช้รายการงานเพื่อค้นหาว่ากระบวนการใดมีรหัสที่ตรงกัน

C:\>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  ...
  TCP    [::]:49335             [::]:0                 LISTENING       1056
  ...

C:\>tasklist /fi "pid eq 1056"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
sqlservr.exe                  1056 Services                   0     66,192 K

13

คุณอาจติดตั้ง Process Explorer (จาก Sysinternals ซึ่งเป็นส่วนหนึ่งของ Microsoft แล้ว) ถ้าไม่เป็นเช่นนั้นไปข้างหน้าและติดตั้งทันที - มันเจ๋งมาก

ใน Process Explorer: ค้นหากระบวนการที่เป็นปัญหาคลิกขวาและเลือกแท็บ TCP / IP มันจะแสดงให้คุณเห็นสำหรับแต่ละซ็อกเก็ตสแต็กแทร็กที่แสดงรหัสที่เปิดซ็อกเก็ตนั้น


7

หากคุณต้องการCurrPortsอินเทอร์เฟซ GUI ฟรีและใช้งานได้กับ Windows ทุกรุ่น แสดงพอร์ตและกระบวนการใดที่เปิดอยู่


อีกทางเลือกที่ดี ว้าวไม่ทราบว่านี่เป็นเรื่องยอดนิยม :)
AlexeyMK


4

Windows 8 (และน่าจะเป็น 7 + Vista) ยังให้มุมมองในการตรวจสอบทรัพยากร หากคุณเลือกแท็บเครือข่ายจะมีส่วนที่เรียกว่า 'Listening Ports' สามารถจัดเรียงตามหมายเลขพอร์ตและดูว่ากระบวนการใดกำลังใช้งานอยู่


สิ่งที่ฉันต้องการ 10x!
soninob


1

ที่บรรทัดคำสั่ง netstat -a จะให้ข้อมูลมากมายแก่คุณ


ฉันจะโหวตให้ถ้าฉันมีคะแนนเหลืออยู่
UnkwnTech

-1: -a ไม่ให้รหัสกระบวนการ
CharlesB

@CharlesB ถ้าคุณเพิ่ม-oตัวเลือก
Marquis of Lorne

1

คุณสามารถใช้คำสั่ง 'netstat' สำหรับสิ่งนี้ มีรายละเอียดของการทำเรียงลำดับของสิ่งนี้เป็นที่นี่



-1

โปรแกรมไฟร์วอลล์ที่ดีที่สุดควรอนุญาตให้คุณเข้าถึงข้อมูลนี้ ฉันรู้ว่า Agnitum OutpostPro Firewall ทำ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.