Jak sprawdzić, który program i identyfikator procesu uzyskuje dostęp do danego adresu IP w systemie Windows?

19

Czy można złapać, który program uzyskuje dostęp do określonego adresu IP?

Odkryłem, że mój komputer jest zalany i chcę sprawdzać adresy jeden po drugim.

Czy może być w tym celu możliwe przeprowadzenie audytu?

Przyciemnia
źródło

Odpowiedzi:

31

Rozwiązanie TCPView

TCPView z SystemInternals wyświetli „szczegółową listę wszystkich punktów końcowych TCP i UDP w systemie, w tym lokalnych i zdalnych adresów i stan połączeń TCP.”

TCPView to program dla systemu Windows, który wyświetla szczegółowe wykazy wszystkich punktów końcowych TCP i UDP w systemie, w tym adresy lokalne i zdalne oraz stan połączeń TCP. W systemach Windows Server 2008, Vista i XP protokół TCPView zgłasza także nazwę procesu będącego właścicielem punktu końcowego. TCPView zapewnia bardziej pouczający i wygodnie prezentowany podzbiór programu Netstat dostarczanego z systemem Windows. Pobieranie TCPView obejmuje Tcpvcon, wersję wiersza polecenia o tej samej funkcjonalności.

wprowadź opis zdjęcia tutaj

  • Upewnij się, że nie zaznaczyłeś opcji „Rozwiąż adresy”, aby uzyskać adresy IP zamiast nazw domen.

    wprowadź opis zdjęcia tutaj

Możesz sortować wyniki według „Zdalnego adresu”, aby znaleźć interesujący Cię adres IP.

Przykład:

  • Ten zrzut ekranu pokazuje, jak Firefox łączy się z stackoverflow.com.

    wprowadź opis zdjęcia tutaj


Rozwiązanie CurrPorts

CurrPorts od Nirsoft zapewnia bardzo podobną funkcjonalność.

CurrPorts to oprogramowanie do monitorowania sieci, które wyświetla listę wszystkich aktualnie otwartych portów TCP / IP i UDP na komputerze lokalnym. Dla każdego portu na liście wyświetlane są również informacje o procesie, który otworzył port, w tym nazwa procesu, pełna ścieżka procesu, informacje o wersji procesu (nazwa produktu, opis pliku itp.), Czas, w którym proces został utworzony, a użytkownik, który go utworzył.

wprowadź opis zdjęcia tutaj

Przykład:

  • Ten zrzut ekranu pokazuje, jak Firefox łączy się z stackoverflow.com.

    wprowadź opis zdjęcia tutaj


Co jeśli chcę zapisać wyniki?

TcpLogView również z Nirsoft zapewnia rejestrowanie połączeń TCP.

TcpLogView to proste narzędzie, które monitoruje otwarte połączenia TCP w systemie i dodaje nowy wiersz dziennika za każdym razem, gdy połączenie TCP jest otwierane lub zamykane. Dla każdego wiersza dziennika wyświetlane są następujące informacje: Parzysty czas, typ zdarzenia (otwórz, zamknij, nasłuchuj), adres lokalny, adres zdalny, nazwa hosta zdalnego, port lokalny, port zdalny, identyfikator procesu, nazwa procesu i informacje o kraju zdalnego adresu IP (wymaga osobnego pobrania adresu IP do pliku kraju).

wprowadź opis zdjęcia tutaj


Zrzeczenie się

W żaden sposób nie jestem powiązany z SystemInternals (częścią Microsoft) ani Nirsoft, jestem tylko użytkownikiem końcowym ich (bezpłatnych) narzędzi.

DavidPostill
źródło
Obawiam się, że nie można złapać kilku pakietów w ten sposób, ponieważ szybko znikają. Potrzebuję logowania.
Przyciemnia
Wyobraź sobie, że chcę złapać, kto wysyła pakiety 88.221.132.207. Jak to zobaczyć? Ta aplikacja nie ma nawet możliwości wyszukiwania ani filtrowania. Tj. Nawet nie będę w stanie złapać go wzrokiem, jeśli szybko znika.
Przyciemnia
1
Wtedy prawdopodobnie potrzebujesz
sniffera
1
Wiresharknie pokazuje identyfikatora procesu. Muszę wiedzieć (1) proces (2) IP; oba
Dims
6
@Dims Użyj TCPLogView również z Nirsoft. Odpowiedź zaktualizowana
DavidPostill
8

W Windows 7/8 * / 10 możesz użyć Monitora zasobów -> Karta Sieć.

Najłatwiejszym sposobem otwarcia monitora zasobów jest:

  • Otwórz Menedżera zadań (prawy pasek zadań -> Uruchom Menedżera zadań)
  • Kliknij kartę Wydajność
  • Kliknij przycisk Monitor zasobów

Monitor zasobów -> Sieć

* = niepotwierdzone

Salman A.
źródło
2

Możesz to osiągnąć bez pobierania dodatkowych narzędzi z powłoki poleceń administratora.

Uruchom powłokę polecenia administratora:

  • Naciśnij przycisk Start
  • Wpisz „cmd”
  • Naciśnij Ctrl + Shift + Enter

Wpisz polecenie: netstat -tabn

Przełączniki oznaczają:

  • -t Wyświetla bieżący stan odciążenia połączenia.
    • to znaczy. USTANOWIONO, SŁUCHANIE, CZAS OCZEKIWANIA
  • -a Wyświetla wszystkie połączenia i porty nasłuchiwania.
  • -b Wyświetla plik wykonywalny zaangażowany w tworzenie każdego połączenia lub portu nasłuchującego. W niektórych przypadkach dobrze znane pliki wykonywalne obsługują wiele niezależnych komponentów, aw tych przypadkach wyświetlana jest sekwencja komponentów zaangażowanych w tworzenie połączenia lub portu nasłuchującego. W tym przypadku nazwa pliku wykonywalnego znajduje się w [] u dołu, u góry jest wywoływany komponent i tak dalej, aż do osiągnięcia TCP / IP. Pamiętaj, że ta opcja może być czasochłonna i zawiedzie, chyba że masz wystarczające uprawnienia.
  • -n Wyświetla adresy i numery portów w postaci numerycznej.

To wprawdzie nie jest tak skomplikowane, jak wynik uzyskany przez wiele opcji GUI, ale jest obecny i dostępny bez pobierania dodatkowych narzędzi. Działa również w systemie Linux z nieco innymi przełącznikami.

antik
źródło
1

Jak powiedział Antik, możesz używać netstat z poziomu wiersza poleceń administratora. Sugeruję jednak, abyś używał ozamiast tego b, w ten sposób dane wyjściowe będą znajdować się w jednym wierszu dla wpisu i możesz dalej filtrować za pomocą find. Nie będziesz mieć nazwy procesu, ale identyfikator procesu:

Na przykład

netstat -aon | find ":80"

wyświetla wszystkie połączenia za pomocą portu 80 (lokalnie lub zdalnie)

Następnie możesz sprawdzić ten proces w Menedżerze zadań lub wykonać inny filtr w wierszu polecenia, używając tym razem listy zadań:

tasklist | find "1100"

lub

tasklist /FI "PID eq 1100"
Razvan Popa
źródło