Cổng nào là một chương trình nhất định sử dụng? [đóng cửa]


99

Tôi muốn có thể tìm ra cổng mà một chương trình cụ thể đang sử dụng. Có bất kỳ chương trình nào có sẵn trực tuyến hoặc đi kèm với các cửa sổ sẽ cho tôi biết quy trình nào đang sử dụng cổng nào trên máy tính của tôi không?

Tái bút - trước khi bạn gỡ bỏ điều này vì không phải là một câu hỏi lập trình, tôi đang tìm chương trình để kiểm tra một số mã mạng.


7
Bất kể bạn sẽ sử dụng nó như một phần của dự án lập trình nào đó, nó không phải là vấn đề lập trình.
Các cuộc đua ánh sáng trong quỹ đạo vào

Câu trả lời:


149

netstat -b -aliệt kê các cổng đang được sử dụng và cung cấp cho bạn tệp thực thi đang sử dụng từng cổng. Tôi tin rằng bạn cần phải ở trong nhóm quản trị viên để thực hiện việc này và tôi không biết những tác động bảo mật nào trên Vista.

Tôi thường thêm -nvào để làm cho nó nhanh hơn một chút, nhưng thêm -bcó thể làm cho nó khá chậm.

Chỉnh sửa : Nếu bạn cần nhiều chức năng hơn netstat cung cấp, vasac khuyên bạn nên thử TCPView .


1
Nếu bất cứ ai có quyền chỉnh sửa một câu trả lời, hãy xem xét thêm câu trả lời vasac của bên dưới (TCPView) cho bất cứ ai mà cần một phiên bản tính năng đầy đủ hơn về điều này với một gui thực
AlexeyMK

Tôi đã thêm liên kết tới TCPView vào câu trả lời của mình.
Graeme Perrow 19/09/08

1
có cách nào với tường lửa không?
Mohammad Kermani

42

TCPView có thể làm những gì bạn yêu cầu.


1
Cảm ơn bạn; netstat là quá đủ cho nhu cầu của tôi nhưng nếu tôi cần thứ gì đó mạnh mẽ hơn, tôi chắc chắn sẽ sử dụng TCPView. Nên được thêm vào câu trả lời được chấp nhận nhưng than ôi tôi chưa có quyền Chỉnh sửa.
AlexeyMK

Tôi đã sử dụng tiện ích Netstat đi kèm với XAMPP. Nhưng tiện ích độc lập này rất hữu ích. Cảm ơn.
Shiyaz

25

Trên Vista, bạn cần có các đặc quyền nâng cao để sử dụng tùy chọn -b với netstat. Để giải quyết vấn đề đó, bạn có thể chạy "netstat -ano" sẽ hiển thị tất cả các cổng đang mở cùng với id quy trình được liên kết. Sau đó, bạn có thể sử dụng danh sách tác vụ để tra cứu quy trình nào có id tương ứng.

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

Bạn có thể đã cài đặt Process Explorer (từ Sysinternals, hiện là một phần của Microsoft). Nếu không, hãy tiếp tục và cài đặt nó ngay bây giờ - nó thật tuyệt.

Trong Process Explorer: tìm tiến trình được đề cập, nhấp chuột phải và chọn tab TCP / IP. Nó thậm chí sẽ hiển thị cho bạn, đối với mỗi ổ cắm, một dấu vết ngăn xếp đại diện cho mã đã mở ổ cắm đó.


7

Nếu bạn thích giao diện GUI, CurrPorts miễn phí và hoạt động với tất cả các phiên bản windows. Hiển thị các cổng và quá trình nào đã mở chúng.


một giải pháp thay thế tốt khác. wow, không biết đây là một chủ đề phổ biến như vậy :)
AlexeyMK


4

Windows 8 (và có thể là 7 + Vista) cũng cung cấp chế độ xem trong Resource Monitor. Nếu bạn chọn tab Mạng, có một phần được gọi là 'Cổng Nghe'. Có thể sắp xếp theo số cổng và xem quy trình nào đang sử dụng nó.


chính xác những gì tôi cần, 10x!
soninob

3

Windows đi kèm với netstattiện ích, tiện ích này sẽ làm chính xác những gì bạn muốn.


1

Tại một dòng lệnh, netstat -a sẽ cung cấp cho bạn nhiều thông tin.


Tôi sẽ bỏ phiếu này nếu tôi còn bất kỳ phiếu bầu nào.
UnkwnTech 19-08

-1: -a không cung cấp ID quy trình
CharlesB

@CharlesB Nó sẽ làm được nếu bạn thêm -otùy chọn.
Marquis of Lorne

1

Bạn có thể sử dụng lệnh 'netstat' cho việc này. Có một mô tả về việc thực hiện loại điều này ở đây .



-1

hầu hết các chương trình tường lửa tốt sẽ cho phép bạn truy cập thông tin này. Tôi biết rằng Agnitum OutpostPro Firewall thì có.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.