Strona główna
» WINDOWS
»
Jak pingować wiele adresów IP w systemie Windows za pomocą pingera zakresu
Jak pingować wiele adresów IP w systemie Windows za pomocą pingera zakresu
Aby wykonać polecenie ping dla zakresu adresów IPv4 na obecnym komputerze z systemem Windows, należy zidentyfikować podsieć, utworzyć listę adresów i wysłać żądanie echa ICMP do każdego z nich. Oryginalny program IP Address Range Pinger wykonywał to za pomocą opcji „Ping Range”, ale jego stare deklaracje dotyczące pobierania i zgodności nie mogą zostać zweryfikowane jako aktualne. Poniższa metoda z programu PowerShell 7 sprawdza autoryzowaną sieć lokalną i raportuje każdy adres osobno.
Co zrobił pinger zakresu adresów IP
Stary artykuł opisuje przenośne narzędzie dla systemu Windows, które uruchamia skanowanie zakresu pingów i wyświetla listę hostów, które odpowiadają. W starym artykule wymieniono systemy Windows XP, Vista, Server 2003/2008 i Windows 7, a zawarte w nim obrazy i odnośniki do pobrania nie są już wiarygodnym wskaźnikiem aktualnej dostępności. Nie udało mi się zweryfikować zachowanego pliku do pobrania wydawcy ani aktualnej obsługi systemu Windows, dlatego traktuj wymienioną aplikację jako przestarzałe oprogramowanie, zamiast korzystać z linków do kopii lustrzanych stron innych firm.
System Windows nadal zawiera to pingpolecenie, a program PowerShell może wygenerować zakres i dołączyć wynik do każdego adresu IP. Polecenie ping testuje jedynie odpowiedź ICMP; nie identyfikuje ono każdego urządzenia ani nie dowodzi, że konkretna aplikacja jest dostępna.
Przed skanowaniem potwierdź zakres adresów IPv4
Otwórz wiersz polecenia i uruchom ipconfig.
Znajdź aktywny adapter Ethernet lub Wi-Fi. Zanotuj jego adres IPv4 i maskę podsieci ; nie używaj domyślnej bramy jako zamiennika podsieci.
Na przykład adres 192.168.1.10z maską podsieci 255.255.255.0to typowa /24sieć. Poniższy przykład sprawdza adresy hostów 192.168.1.1za pomocą 192.168.1.254.
Użyj adresu IPv4 i maski podsieci aktywnego adaptera, aby zidentyfikować zakres, który masz uprawnienia do sprawdzania.
Przykład /24nie pasuje do każdej sieci. Jeśli Twoja maska podsieci jest inna, najpierw oblicz prawidłowy zakres adresów i dostosuj prefiks oraz numery hostów w skrypcie. Przeprowadź skanowanie tylko na adresach, którymi jesteś właścicielem lub do których masz uprawnienia.
Pinguj zakres /24 za pomocą programu PowerShell 7
W tym przykładzie użyto opcji ForEach-Object -Parallelwprowadzonej w programie PowerShell 7 oraz Test-Connectionopcji limitu czasu. Program PowerShell 7 instaluje się równolegle z programem Windows PowerShell 5.1; ten skrypt wymaga programu PowerShell 7. W razie potrzeby należy postępować zgodnie z instrukcją instalacji programu PowerShell 7 firmy Microsoft . Firma Microsoft dokumentuje pętlę równoległą, jej limit przepustowości oraz Test-Connectionparametry .
Otwórz program PowerShell 7 z menu Start. Tytuł powinien brzmieć PowerShell 7, a nie Windows PowerShell lub PowerShell ISE.
Jeśli Twoja autoryzowana sieć używa innego prefiksu, zastąp go przykładowym /24, a następnie wklej i uruchom ten blok:
Zmień przykładowy prefiks tak, aby odpowiadał podsieci /24 zidentyfikowanej za pomocą ipconfig.
Pętla wysyła jeden ping do każdego z 254 przykładowych adresów hosta. -TimeoutSeconds 1Ogranicza czas oczekiwania każdego testu i jednocześnie -ThrottleLimit 32liczbę równoległych sprawdzeń. Aby zmniejszyć zakres, należy zastąpić go 1..254potrzebnymi numerami hostów. Nie rozszerzaj tej pętli na inny rozmiar podsieci bez poprawienia listy docelowej.
Aby zachować zapis, uruchom to polecenie po wyświetleniu tabeli:
Podane wartości są przykładowe. Wyniki skanowania zawierają listę przetestowanych adresów i informację, czy każdy z nich odpowiedział na protokół ICMP.
TrueOznacza, że adres zwrócił odpowiedź ICMP echo podczas skanowania. FalseOznacza to, że program PowerShell nie otrzymał odpowiedzi przed upływem limitu czasu. Nie dowodzi to , że urządzenie jest wyłączone. Zapora hosta, zapora sieciowa, reguła kontroli dostępu, izolacja klienta bezprzewodowego, stan uśpienia, problem z routingiem lub nieprawidłowa podsieć mogą uniemożliwić odpowiedź. Urządzenie może być również aktywne, ale skonfigurowane tak, aby nie odpowiadało na ping.
Użyj wyników jako listy szybko dostępnych adresów, a nie jako kompletnego spisu. Skrypt sprawdza tylko IPv4 i nie identyfikuje nazw urządzeń, otwartych portów ani usług. Jeśli zapiszesz plik CSV, będzie on zawierał zarówno adresy odpowiadające, jak i nieodpowiadające, dzięki czemu będziesz mógł później porównać wyniki.
Zaznacz jeden adres lub konkretną usługę
W przypadku jednorazowego sprawdzenia w wierszu poleceń należy skorzystać z udokumentowanych opcji /nliczenia i /woczekiwania systemu Windows:
ping /n 1 /w 800 192.168.1.10
Ten przykład pokazuje format udanego pingowania pojedynczego adresu. Odpowiedź ma charakter poglądowy i nie jest miarą stanu Twojej sieci.
Informacje o pingu firmy Microsoft wyjaśniają te opcje. Jeśli host przekroczy limit czasu, sprawdź adres i podsieć, a następnie sprawdź politykę ICMP celu i wszelkie interweniujące reguły zapory sieciowej. Unikaj globalnego wyłączania zapory sieciowej tylko po to, aby ping działał; poproś administratora sieci, aby zezwolił tylko na niezbędny ruch, jeśli polityka na to pozwala.
Jeśli prawdziwe pytanie dotyczy dostępności witryny internetowej, udziału plików lub innej usługi, należy również sprawdzić jej rzeczywisty port TCP – na przykład Test-NetConnection -ComputerName 192.168.1.10 -Port 443pod kątem usługi oczekiwanej na porcie 443. Microsoft zauważa, że ping to jedynie podstawowe sprawdzenie łączności i zaleca sprawdzenie na poziomie aplikacji, gdy zachodzi potrzeba potwierdzenia dostępu do usługi nasłuchującej. Zapoznaj się z poradnikiem i materiałami referencyjnymi dotyczącymi rozwiązywania problemów z protokołem TCP/IP .Test-NetConnection