Ukaz v ukazni vrstici za ping več naslovov hkrati

Uvod v pinganje več naslovov hkrati

Vsakdo, ki se ukvarja z omrežji ali informatiko, je že uporabil ukaz ping. To je preprosto orodje za preverjanje dosegljivosti naprav v omrežju. Običajno pingamo en naslov naenkrat, na primer ping google.com ali ping 192.168.1.1. Toda ko moramo preveriti desetine ali stotine naslovov, ročno vnašanje ni smiselno. V takih primerih potrebujemo metodo, s katero lahko v ukazni vrstici sprožimo pinganje več naslovov hkrati. V tem članku boste spoznali ukaze in prijeme za sočasno pinganje več IP-jev ali gostiteljskih imen v okolju Windows, Linux in PowerShell.

Zakaj pingati več naslovov hkrati

Pinganje več naslovov hkrati je koristno v številnih situacijah. Omrežni skrbniki pogosto preverjajo celotne IP-razpone, da dobijo pregled nad aktivnimi napravami. Razvijalci testirajo povezljivost več strežnikov hkrati. Vzdrževalci iščejo izpade v lokalnem omrežju. Ročno pinganje vsakega naslova posebej bi bilo zamudno in neučinkovito. Z ustrezno metodo lahko prihranite čas in takoj dobite pregled nad stanjem celotnega omrežja.

Metoda v ukazni vrstici Windows s krmilno zanko FOR

Operacijski sistem Windows nima vgrajenega ukaza, ki bi neposredno podpiral pinganje več naslovov hkrati. Zato uporabimo krmilno zanko FOR, ki omogoča ponavljanje ukaza ping za vsak naslov v določenem obsegu. Osnovna oblika ukaza je naslednja:

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

Ta ukaz pinga vse naslove od 192.168.0.1 do 192.168.0.254. Vsak naslov dobi en sam ping paket (parametar -n 1). To je hitro in učinkovito. Vendar pa se na zaslonu izpišejo vsi odgovori in tudi neuspešni poskusi, kar je lahko nepregledno. Zato pogosto dodamo filtriranje s pomočjo ukaza FIND.

Ukaz v ukazni vrstici za ping več naslovov hkrati - 1

Dodajanje filtriranja z ukazom FIND

Da izločimo samo uspešne odgovore, uporabimo cevovod (pipe) in ukaz FIND. S tem dobimo le vrstice, ki vsebujejo besedo Reply (v angleški različici sistema). Ukaz izgleda takole:

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

Če želimo rezultate shraniti v datoteko, preusmerimo izhod v besedilno datoteko:

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

Ta ukaz je izjemno uporaben za hitro preverjanje celotnega podomrežja. Seveda lahko spremenite začetni in končni naslov ter število ping paketov po potrebi.

Razlaga parametrov v ukazu FOR

Parameter Pomen
FOR /L Zanka, ki vrednosti povečuje z določenim korakom
%i Spremenljivka, ki dobi vrednost iz obsega
IN (1,1,254) Obseg: začetna vrednost, korak, končna vrednost
DO ping -n 1 Izvedi ping z enim paketom
192.168.0.%i Naslov z vstavljeno spremenljivko
| FIND /i "Reply" Prikaz samo vrstic z odgovorom (neobčutljivo na velike/male črke)
>>> aktivne.txt Dodajanje izhoda v datoteko

Zanka FOR je izjemno zmogljivo orodje v ukaznem oknu Windows. Z njo lahko ponovite skoraj vsak ukaz za razpon številk ali seznam besed. Če želite pingati določene gostitelje po imenih, lahko ustvarite seznam v datoteki in ga obdelate z ukazom FOR /F.

Ukaz v ukazni vrstici za ping več naslovov hkrati - 2

Primer pinganja seznama gostiteljev iz datoteke

Imate datoteko s seznamom IP-jev ali imen, vsako v svoji vrstici. Uporabite ukaz:

FOR /F "tokens=*" %G IN (seznam.txt) DO ping -n 1 %G | FIND /i "Reply"

Ta ukaz prebere datoteko seznam.txt, za vsako vrstico izvede ping in prikaže samo uspešne odgovore. To je še posebej uporabno, kadar imate nepravilne naslove ali imena gostiteljev, ki jih želite preveriti.

Uporaba PowerShell za sočasno pinganje

PowerShell nudi naprednejše možnosti za sočasno pinganje več naslovov. Medtem ko zanka FOR v ukazni vrstici deluje zaporedno (en ping za drugim), PowerShell omogoča zagon več procesov ping hkrati z uporabo opravil (Jobs). To je hitrejše in učinkovitejše za večja omrežja.

Primer PowerShell ukaza za sočasno pinganje celega razpona:

Ukaz v ukazni vrstici za ping več naslovov hkrati - 3
1..254 | ForEach-Object -Parallel { ping -n 1 "192.168.0.$_" } -ThrottleLimit 50

Parameter -Parallel zažene več pingov hkrati, -ThrottleLimit določa največje število sočasnih procesov. Rezultati so vidni takoj, ko so na voljo. To je veliko hitreje od zaporedne zanke v cmd.

Če želite shraniti rezultate v datoteko, lahko uporabite:

1..254 | ForEach-Object -Parallel { ping -n 1 "192.168.0.$_" } -ThrottleLimit 50 | Out-File -FilePath ping_rezultati.txt

PowerShell je danes privzeta lupina v sodobnih različicah Windows in ponuja veliko večjo prilagodljivost kot klasična ukazna vrstica.

Seznam uporabnih primerov ukazov za pinganje več naslovov

  • Preverjanje celotnega podomrežja v lokalnem omrežju: FOR /L %i IN (1,1,254) DO ping -n 1 192.168.1.%i | FIND /i "Reply"
  • Pinganje seznama določenih strežnikov iz datoteke: FOR /F "tokens=*" %G IN (strezniki.txt) DO ping -n 1 %G
  • Sočasno pinganje v PowerShell za hitrejše rezultate: 1..254 | ForEach-Object -Parallel { ping -n 1 "10.0.0.$_" } -ThrottleLimit 100
  • Neprekinjeno pinganje več naslovov hkrati v PowerShell z uporabo opravil: Start-Job -ScriptBlock { while($true){ ping -n 1 8.8.8.8; Start-Sleep 2 } }
  • Uporaba orodja fping v Linuxu za sočasno pinganje celega razpona: fping -g 192.168.0.0/24
  • Pinganje več posameznih gostiteljev z orodjem fping: fping server1 server2 server3 192.168.1.1

Orodje fping v Linuxu in Unixu

V okolju Linux ali Unix lahko uporabite odprtokodno orodje fping, ki je zasnovano posebej za pinganje več naslovov hkrati. Medtem ko navaden ukaz ping v Linuxu podpira samo en naslov naenkrat, fping omogoča, da v enem ukazu naslovite več gostiteljev ali celotno podomrežje.

Ukaz v ukazni vrstici za ping več naslovov hkrati - 4

Osnovna primera uporabe fping:

fping -g 192.168.0.1/24

Ta ukaz pinga vse naslove v razponu 192.168.0.1 do 192.168.0.254. fping samodejno pošilja pakete sočasno in prikaže odgovor za vsako dosegljivo napravo. Če želimo pingati samo določene gostitelje, jih navedemo kot argumente:

fping server1 server2 server3

fping je zelo hiter in učinkovit. Uporablja se lahko v skriptih za spremljanje omrežij ali za odkrivanje naprav. Na večini distribucij Linuxa ga namestimo z ukazom sudo apt install fping (Debian/Ubuntu) ali sudo dnf install fping (Fedora). Če povzamemo, fping je nepogrešljivo orodje za vsakogar, ki pogosto preverja več naslovov hkrati na sistemih Linux.

Za več informacij o uporabi fping si lahko ogledate uradno dokumentacijo na spletni strani orodja ali pa preberete blog objavo, ki podrobno opisuje njegovo uporabo: fping um ping para múltiplos hosts.

Ukaz v ukazni vrstici za ping več naslovov hkrati - 5

Kako izbrati pravo metodo

Izbira metode je odvisna od vašega operacijskega sistema in zahtev. Če uporabljate Windows in potrebujete hitro preverjanje celotnega razpona, je zanka FOR v ukazni vrstici povsem dovolj. Če želite večjo hitrost in sočasnost, uporabite PowerShell s parametrom -Parallel. Za profesionalno spremljanje omrežja na strežnikih Linux pa je fping najboljša izbira.

Pri uporabi zanke FOR v cmd ne pozabite, da deluje zaporedno. To pomeni, da se pingi izvajajo drug za drugim, kar lahko pri velikih razponih traja nekaj časa. Vendar je to povsem sprejemljivo za večino opravil. Če potrebujete resnično sočasno pinganje, je treba uporabiti PowerShell ali orodje, kot je fping.

Pogoste napake in rešitve

Pri uporabi zanke FOR v cmd uporabniki pogosto naredijo napako pri sintaksi. Spremenljivko %i morate v cmd vedno pisati z enim znakom odstotka, v paketni datoteki (.bat) pa z dvema (%%i). Če ukaz ne deluje, preverite, ali ste v cmd ali v datoteki. Drug pogost problem je, da ukaz FIND ne najde besede Reply, če imate sistem v drugem jeziku. V slovenščini bi bilo to Odgovori, v nemščini Antwort. Zato je bolje uporabiti FIND /i "from" ali pa preprosto izpustiti filtriranje in izhod preusmeriti v datoteko, ki jo nato pregledate.

V Linuxu pri uporabi fping pazite, da imate ustrezna dovoljenja. fping zahteva korenske pravice za pošiljanje paketov, zato ga pognajte s sudo, če se pritožuje nad pomanjkanjem pravic.

Zaključek

Pinganje več naslovov hkrati je preprosto, če poznate prave ukaze. Zanka FOR v ukazni vrstici Windows je odlična za hitro pregledovanje razponov. PowerShell ponuja sočasnost in večjo hitrost. V Linuxu je fping kralj večopravilnega pinganja. Vsaka metoda ima svoje prednosti in je uporabna v različnih situacijah. S tem znanjem boste lahko hitro preverili celotno omrežje, odkrite naprave in odpravljali težave brez nepotrebnega ponavljanja ročnih ukazov. Priporočam, da preizkusite vse metode in izberete tisto, ki vam najbolj ustreza.

Reference

Viri informacij, uporabljeni pri pripravi tega članka:

Microsoft Learn. Ping command documentation. Dostopno na: Microsoft Windows Server Ping Command Reference.

Wel. R

ping ukazna vrstica cmd omrežje diagnostika Windows
Opomba Vsebina je informativna in lahko zahteva prilagoditve glede na operacijski sistem in omrežno okolje.
Avtor

Stefano Barcellos

Sodelavec na Visite Barbados.

« Prejšnja objava
Varna nastavitev VPN povezave v sistemu Windows

Sorodne objave