Z jakiego portu korzysta dany program? [Zamknięte]


99

Chcę móc dowiedzieć się, jakiego portu używa określony program. Czy są jakieś programy dostępne online lub dostarczane z oknami, które informują mnie, które procesy używają jakich portów na moim komputerze?

PS - zanim zdegradujesz to, aby nie było to pytanie programistyczne, szukam programu do testowania kodu sieciowego.


7
Niezależnie od tego, czy zamierzasz używać tego jako części jakiegoś projektu programistycznego, nie jest to problem programistyczny.
Wyścigi lekkości na orbicie

Odpowiedzi:


149

netstat -b -awyświetla listę używanych portów i podaje plik wykonywalny, który używa każdego z nich. Uważam, że aby to zrobić, musisz być w grupie administratorów i nie wiem, jakie implikacje dla bezpieczeństwa są związane z Vistą.

Zwykle też dodaję, -nżeby trochę przyspieszyć, ale dodawanie -bmoże spowolnić.

Edycja : Jeśli potrzebujesz większej funkcjonalności niż zapewnia netstat, vasac sugeruje wypróbowanie TCPView .


1
Jeśli ktokolwiek ma prawa do edycji odpowiedzi, rozważ dodanie odpowiedzi vasaca poniżej (TCPView) dla każdego, kto potrzebuje bardziej funkcjonalnej wersji z prawdziwym GUI
AlexeyMK

Dodałem link do TCPView do mojej odpowiedzi.
Graeme Perrow,

1
czy jest jakiś sposób z firewallem?
Mohammad Kermani,

42

TCPView może zrobić to, o co prosiłeś.


1
Dziękuję Ci; netstat jest więcej niż wystarczający dla moich potrzeb, ale jeśli kiedykolwiek będę potrzebował czegoś bardziej hardkorowego, na pewno użyję TCPView. Powinien zostać dodany do zaakceptowanej odpowiedzi, ale niestety nie mam jeszcze prawa do edycji.
AlexeyMK,

Używałem narzędzia Netstat, które jest dostarczane z XAMPP. Ale to samodzielne narzędzie jest bardzo przydatne. Dzięki.
Shiyaz

25

W systemie Vista potrzebujesz podwyższonych uprawnień, aby używać opcji -b z netstat. Aby obejść ten problem, możesz uruchomić "netstat -ano", który pokaże wszystkie otwarte porty wraz z powiązanym identyfikatorem procesu. Następnie możesz użyć listy zadań, aby sprawdzić, który proces ma odpowiedni identyfikator.

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

Być może masz już zainstalowany Process Explorer (od Sysinternals, obecnie część firmy Microsoft). Jeśli nie, śmiało zainstaluj go teraz - jest po prostu fajny.

W Process Explorer: zlokalizuj dany proces, kliknij prawym przyciskiem myszy i wybierz kartę TCP / IP. Pokaże nawet, dla każdego gniazda, ślad stosu reprezentujący kod, który otworzył to gniazdo.


7

Jeśli wolisz interfejs GUI, CurrPorts jest darmowy i działa ze wszystkimi wersjami systemu Windows. Pokazuje porty i proces, który je otworzył.


kolejna dobra alternatywa. wow, nie wiedziałem, że to taki popularny temat :)
AlexeyMK


4

Windows 8 (i prawdopodobnie 7 + Vista) również zapewniają widok w Monitorze zasobów. Jeśli wybierzesz kartę Sieć, pojawi się sekcja o nazwie „Listening Ports”. Można sortować według numeru portu i sprawdzać, który proces go używa.


dokładnie to, czego potrzebowałem, 10x!
soninob


1

W wierszu poleceń polecenie netstat -a poda wiele informacji.


Głosowałbym za tym, gdybym miał jeszcze jakieś głosy.
UnkwnTech,

-1: -a nie podaje identyfikatora procesu
CharlesB

@CharlesB Dzieje się, jeśli dodasz -oopcję.
Markiz Lorne



-1

większość przyzwoitych zapór sieciowych powinna umożliwiać dostęp do tych informacji. Wiem, że tak działa Agnitum OutpostPro Firewall.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.