Naredba u CMD-u za ping više IP adresa odjednom

Uvod – zašto pingati više adresa odjednom?

U svakodnevnom radu mrežnih administratora, tehničara ili naprednih korisnika često se javlja potreba za provjerom dostupnosti više računala ili mrežnih uređaja u isto vrijeme. Umjesto da ručno upisujete naredbu ping za svaku IP adresu zasebno, možete koristiti naredbeni redak (CMD) u Windowsu da biste automatizirali taj proces. Ova tehnika ubrzava dijagnostiku mreže, olakšava otkrivanje problema i omogućuje pregled stanja cijele podmreže u nekoliko sekundi. U ovom članku detaljno ćemo objasniti kako pingati više IP adresa odjednom pomoću ugrađenih naredbi u Windowsu, ali i kako to učiniti naprednijim alatima poput fping ili PowerShell.

Osnovna metoda – FOR petlja u naredbenom retku

Najjednostavniji način da pingate niz IP adresa jest korištenje FOR petlje unutar cmd-a. Windows naredbeni redak podržava FOR petlju koja može iterirati kroz raspon brojeva. Sintaksa je sljedeća: FOR /L %varijabla IN (početak,korak,kraj) DO naredba. U slučaju pinganja, varijablu koristimo za generiranje IP adrese. Na primjer, želimo li pingati sve adrese iz raspona 192.168.0.1 do 192.168.0.254, možemo upisati:

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i

Ova naredba pokreće ping za svaku IP adresu redom, s time da -n 1 označava slanje samo jednog paketa (umjesto zadanih četiri). Na taj način proces traje kraće, ali ipak je sekvencijalan – pinga se jedna adresa za drugom. Ako želite brže dobivanje rezultata, možete smanjiti vremensko čekanje dodavanjem parametra -w, na primjer -w 500 (čekanje 500 ms).

Naredba u CMD-u za ping više IP adresa odjednom - 1

Filtriranje rezultata pomoću FIND

Kada pokrenete FOR petlju, na ekranu će se ispisati poruke za svaku adresu – i one koje su uspješne i one koje su neuspješne (Request timed out). Kako biste odmah vidjeli samo adrese koje su odgovorile, možete kombinirati FOR petlju s naredbom FIND. Naredba FIND filtrira redove koji sadrže određeni tekst, u ovom slučaju riječ "Reply" (ili "Odgovor" na hrvatskim verzijama Windowsa). Primjer naredbe:

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply"

Parametar /i znači da se ne razlikuju velika i mala slova. Rezultat će prikazati samo one retke koji sadrže "Reply", odnosno samo adrese koje su odgovorile na ping. Ovaj izlaz možete preusmjeriti u tekstualnu datoteku dodavanjem znaka > na kraj naredbe. Na primjer:

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply" > ping_rezultati.txt

Naredba u CMD-u za ping više IP adresa odjednom - 2

Na taj način dobivate datoteku s popisom svih dostupnih uređaja u podmreži. Ova metoda je izuzetno korisna za brzu inventuru mreže.

Korištenje popisa IP adresa iz datoteke

Ponekad ne želite pingati cijelu podmrežu, već samo određeni skup adresa koji imate u tekstualnoj datoteci. U tom slučaju koristite drugu varijantu FOR petlje – FOR /F. Prvo pripremite datoteku (npr. adrese.txt) u kojoj se svaka IP adresa nalazi u zasebnom retku. Zatim pokrenite naredbu:

FOR /F %i IN (adrese.txt) DO ping -n 1 %i | FIND /i "Reply"

Ova petlja čita svaki redak iz datoteke, dodjeljuje ga varijabli %i i izvršava ping. Rezultate također možete filtrirati i spremiti u datoteku. Ovaj pristup je vrlo praktičan kada imate popis servera ili mrežnih uređaja koje redovito provjeravate.

Naredba u CMD-u za ping više IP adresa odjednom - 3

Alternativni alati za istovremeno pinganje

FOR petlja u cmd-u je sekvencijalna – pinga jednu adresu za drugom, što može biti sporo za velike mreže. Ako vam treba istovremeno (paralelno) pinganje, trebate posebne alate. Na Linuxu i Unixu popularan je alat fping koji omogućuje slanje pingova na više adresa odjednom bez petlje. Na primjer: fping -g 192.168.0.0/24 pinga cijelu podmrežu istovremeno. Na Windowsu možete koristiti PowerShell s poslovima (Jobs). PowerShell omogućuje pokretanje više pingova u pozadini pomoću Start-Job. Ovaj je pristup napredniji, ali daje bolje performanse za veliki broj adresa. Primjer u PowerShellu:

1..254 | ForEach-Object { Start-Job -ScriptBlock { ping -n 1 192.168.0.$using:_ } } | Receive-Job -Wait

Ipak, za većinu svakodnevnih potreba FOR petlja s FIND-om sasvim je dovoljna i ne zahtijeva instalaciju dodatnih alata.

Usporedba metoda za pinganje više IP adresa

Kako biste lakše odabrali odgovarajuću metodu, u tablici su prikazane ključne karakteristike najčešće korištenih pristupa.

Naredba u CMD-u za ping više IP adresa odjednom - 4
MetodaPlatformaBrzinaJednostavnostMogućnosti
FOR petlja (CMD)WindowsSporija (sekvencijalno)Vrlo jednostavnoOsnovni ping, filtriranje, preusmjeravanje
FOR petlja + FINDWindowsSporijaJednostavnoFiltriranje uspješnih pingova, izlaz u datoteku
fpingLinux/Unix (dostupan i za Windows)Brza (paralelno)Zahtijeva instalacijuPing više adresa odjednom, prilagodba parametara
PowerShell JobsWindowsBrza (paralelno)NaprednoParalelno izvođenje, praćenje u stvarnom vremenu

Primjer iz stvarnog života – skeniranje mreže

Zamislimo da ste mrežni administrator i trebate provjeriti koja su računala uključena u vašoj lokalnoj mreži s adresnim prostorom 192.168.1.0/24. Otvorite naredbeni redak i upišite:

FOR /L %i IN (1,1,254) DO ping -n 1 -w 500 192.168.1.%i | FIND /i "Reply"

Nakon nekoliko sekundi (ovisno o broju adresa), na ekranu će se pojaviti otprilike ovako:

Reply from 192.168.1.1: bytes=32 ...
Reply from 192.168.1.10: bytes=32 ...
Reply from 192.168.1.100: bytes=32 ...

Naredba u CMD-u za ping više IP adresa odjednom - 5

To znači da su ta tri uređaja aktivna. Ako želite spremiti popis, dodajte > aktivni.txt na kraj. Ovaj jednostavan postupak omogućuje vam da u roku od minute saznate stanje svoje mreže bez ikakvih dodatnih alata.

Savjeti za naprednu upotrebu

Prilikom pinganja više adresa u cmd-u možete prilagoditi nekoliko parametara. Parametar -n određuje broj ping paketa (1 je dovoljan za brzu provjeru). Parametar -w postavlja vremensko čekanje u milisekundama, što je korisno kod sporih ili udaljenih mreža. Ako želite kontinuirano pinganje (pinganje više adresa u petlji koja se ponavlja), možete umetnuti vanjsku FOR petlju ili koristiti PowerShell s while petljom. Također, obratite pažnju na postavke vatrozida – neki uređaji mogu blokirati ICMP pingove. U tom slučaju ping neće dobiti odgovor, iako je uređaj uključen.

Zaključak

Pinganje više IP adresa odjednom u naredbenom retku Windowsa moguće je uz pomoć FOR petlje, koja je jednostavna i ne zahtijeva dodatne alate. Kombinacijom s FIND naredbom i preusmjeravanjem u datoteku dobivate moćan alat za mrežnu dijagnostiku. Za veće mreže ili potrebu za paralelnim pinganjem preporučuje se korištenje fping ili PowerShell poslova. Bilo koju metodu odabrali, važno je razumjeti osnovne postavke i mogućnosti kako biste optimalno iskoristili svoje vrijeme i resurse. Uvijek provjerite dopuštenja i sigurnosne politike svoje mreže prije skeniranja.

Reference

Za više informacija o naredbi ping u Windowsu, službena Microsoft dokumentacija dostupna je na Microsoft Learn.

Diskusija o pinganju raspona IP adresa i korištenju FIND naredbe može se pronaći na forumu SuperUser, primjerice na ovoj stranici.

Ostali izvori uključuju blogove i forume zajednice, poput opisa fping alata (Wel. R. Braga) i PowerShell poslova na Redditu.

CMD ping Windows mreža dijagnostika IP adrese
Napomena Informacije su edukativne i mogu se razlikovati ovisno o verziji sustava i mrežnoj konfiguraciji.
Autor

Stefano Barcellos

Suradnik na Visite Barbados.

« Prethodna objava
Kako otvoriti CD ladicu preko računala

Povezane objave