Ping ukaz v ukazni vrstici za več naslovov hkrati

Uvod v sočasno pinganje več naslovov

Ping je eden najbolj prepoznavnih omrežnih ukazov, ki ga uporabljajo tako sistemski skrbniki kot običajni uporabniki. Njegova osnovna naloga je preverjanje dosegljivosti določenega naslova IP ali domenskega imena. Vendar pa se pogosto znajdemo v situaciji, ko moramo preveriti več naprav hkrati. Ročno vnašanje ukaza za vsak naslov posebej je zamudno in neučinkovito. Na srečo obstaja več načinov, kako v ukazni vrstici sistema Windows izvesti ping na več naslovov hkrati ali zaporedno, brez odpiranja več oken. V tem članku bomo podrobno raziskali različne metode, od preprostih ukazov do naprednejših rešitev s skripti in orodji tretjih oseb.

Osnovni ukaz ping v ukazni vrstici

Preden se lotimo sočasnega pinganja, je pomembno razumeti delovanje osnovnega ukaza. V ukazni vrstici Windows preprosto vnesemo ping in naslov. Privzeto ukaz pošlje štiri pakete in počaka na odgovor. Če želimo spremeniti število paketov, uporabimo parameter -n. Na primer ping -n 1 8.8.8.8 pošlje le en paket. Parameter -w določa časovno omejitev v milisekundah. Ti parametri so ključni pri optimizaciji ukazov za več naslovov, saj želimo postopek čim bolj pospešiti.

Ping ukaz v ukazni vrstici za več naslovov hkrati - 1

Pinganje več naslovov z enim ukazom

Mnogi uporabniki ne vedo, da lahko v ukazno vrstico vnesete več naslovov ločenih s presledkom. Ukaz ping 8.8.8.8 1.1.1.1 8.8.4.4 bo izvedel ping na vse tri naslove, vendar zaporedno. To pomeni, da bo najprej preveril prvi naslov, nato drugega in tako naprej. Čeprav to ni sočasno izvajanje, je še vedno priročno, saj prihrani čas pri vnašanju ukazov. Rezultati so prikazani eden za drugim, kar omogoča pregledno spremljanje. Ta metoda je primerna za manjše število naslovov, kjer hitrost ni kritična.

Uporaba zanke for v ukazni vrstici

Za pinganje celotnega obsega naslovov, na primer celotnega podomrežja, je najboljša rešitev uporaba zanke for. Ta ukaz deluje v vseh različicah sistema Windows. Zanka for omogoča iteracijo skozi zaporedje številk in izvedbo ukaza za vsako vrednost. Tipičen primer je pinganje vseh naslovov od 192.168.0.1 do 192.168.0.254. Ukaz for /L %i in (1,1,254) do ping -n 1 -w 20 192.168.0.%i bo poslal en ping paket na vsak naslov v tem obsegu. Parameter -w 20 nastavi časovno omejitev na 20 milisekund, kar pospeši postopek, saj ukaz ne čaka dolgo na neodzivne naprave. Rezultat je seznam odgovorov ali sporočil o neuspešnem pinganju. Za boljšo preglednost lahko dodamo find Reply, ki izpiše le vrstice z odgovorom. Celoten ukaz je videti takole: for /L %i in (1,1,254) do ping -n 1 -w 20 192.168.0.%i | find Reply. Ta metoda je izjemno uporabna za hitro preverjanje omrežja.

Ping ukaz v ukazni vrstici za več naslovov hkrati - 2

Primer uporabe zanke for

Predstavljajmo si, da upravljate majhno pisarniško omrežje z naslovi v obsegu 10.0.0.1 do 10.0.0.20. Želite preveriti, katere naprave so aktivne. V ukazno vrstico vnesete: for /L %i in (1,1,20) do ping -n 1 -w 50 10.0.0.%i. Ukaz bo zaporedno pingal vsak naslov. Če želite videti le tiste, ki so odgovorili, dodajte find Reply. Rezultat bo prikazal le naslove, ki so dosegljivi. Ta pristop je hiter in ne zahteva namestitve dodatne programske opreme. Je eden najbolj priljubljenih načinov med skrbniki sistemov.

Seznam pogostih parametrov ukaza ping

Spodaj je seznam najpogosteje uporabljenih parametrov ukaza ping v sistemu Windows, ki so koristni pri delu z več naslovi.

Ping ukaz v ukazni vrstici za več naslovov hkrati - 3
  • -n število: Določi število poslanih paketov. Privzeto so štirje.
  • -w milisekunde: Nastavi časovno omejitev za vsak odgovor.
  • -t: Izvede neprekinjeno pinganje, dokler ga ne prekinete z Ctrl+C.
  • -a: Poskusi razrešiti naslov IP v ime gostitelja.
  • -l velikost: Nastavi velikost paketa v bajtih.

Uporaba PowerShell za sočasno pinganje

PowerShell ponuja naprednejše možnosti v primerjavi s klasično ukazno vrstico. Cmdlet Test-Connection je sodobna zamenjava za ping in omogoča sočasno preverjanje več naslovov. Ukaz Test-Connection -ComputerName 8.8.8.8, 1.1.1.1, 8.8.4.4 -Count 1 bo poslal en paket na vsak naslov in prikazal rezultate. Privzeto Test-Connection izvaja ping zaporedno, vendar lahko s parametrom -AsJob ustvarimo opravila v ozadju. Za resnično vzporedno izvajanje uporabimo Start-Job. S tem ustvarimo ločena ozadjska opravila, ki izvajajo ping hkrati. Primer: Start-Job -ScriptBlock {ping -n 1 8.8.8.8}. Nato lahko z Get-Job preverimo stanje in z Receive-Job pridobimo rezultate. Ta metoda je idealna za večje število naslovov, kjer je hitrost ključnega pomena.

Tabela primerjave metod za pinganje več naslovov

Spodnja tabela prikazuje primerjavo različnih metod za pinganje več naslovov v sistemu Windows.

Ping ukaz v ukazni vrstici za več naslovov hkrati - 4
MetodaSočasnostEnostavnost uporabePrimernost za veliko število naslovov
En ukaz z več nasloviNe (zaporedno)Zelo enostavnoMajhno število
Zanka for v cmdNe (zaporedno)SrednjeDa, do 254 naslovov
Test-Connection v PowerShellDelno (lahko s parametri)SrednjeDa
Start-Job v PowerShellDa (vzporedno)ZahtevnoDa, zelo veliko
Orodja tretjih osebDaEnostavnoDa

Neprekinjeno pinganje več naslovov

Včasih potrebujemo neprekinjeno spremljanje več naprav. V klasični ukazni vrstici parameter -t omogoča neprekinjeno pinganje enega naslova. Za več naslovov lahko uporabimo zanko for z dodatkom -t, vendar to ni idealno, saj se izvaja zaporedno. Boljša rešitev je uporaba PowerShell z zanko while. Primer: while($true){Test-Connection -ComputerName 8.8.8.8, 1.1.1.1 -Count 1; Start-Sleep -Seconds 2}. Ta ukaz bo vsaki dve sekundi preveril oba naslova. Za resnično vzporedno neprekinjeno pinganje uporabimo Start-Job z zanko while v vsakem opravilu. To je napredna tehnika, ki zahteva dobro poznavanje PowerShell, vendar omogoča učinkovito spremljanje omrežja v realnem času.

Orodja tretjih oseb za sočasno pinganje

Poleg vgrajenih orodij obstajajo tudi specializirana orodja, ki olajšajo sočasno pinganje. Eno izmed najbolj priljubljenih je PingInfoView podjetja NirSoft. To je brezplačno orodje z grafičnim vmesnikom, ki omogoča vnos seznama naslovov in sočasno pinganje vseh. Rezultati so prikazani v pregledni tabeli z barvnimi oznakami za dosegljivost. Orodje podpira tudi beleženje rezultatov in prilagajanje parametrov. Druga možnost je uporaba orodij, kot sta Fping ali Hping, ki so sicer bolj znana v okolju Linux, vendar obstajajo tudi različice za Windows. Ta orodja so še posebej uporabna za skrbnike, ki upravljajo velika omrežja in potrebujejo hitro in zanesljivo orodje.

Ping ukaz v ukazni vrstici za več naslovov hkrati - 5

Nasveti za optimizacijo pinganja

Pri pinganju več naslovov je pomembno optimizirati parametre, da postopek ne traja predolgo. Uporaba parametra -n 1 zmanjša število paketov na enega. Parameter -w nastavite na nizko vrednost, na primer 20 ali 50 milisekund, da se izognete dolgemu čakanju na neodzivne naprave. V omrežjih z visoko zakasnitvijo boste morda potrebovali višjo vrednost. Pri uporabi zanke for v ukazni vrstici lahko rezultate usmerite v datoteko z operatorjem >. Na primer: for /L %i in (1,1,254) do ping -n 1 -w 20 192.168.0.%i >> rezultati.txt. Tako boste imeli trajen zapis. V PowerShell lahko uporabite Export-Csv za strukturiran izvoz. Prav tako je priporočljivo preveriti, ali imate ustrezna dovoljenja, saj nekateri požarni zidovi blokirajo ping.

Pogoste težave in rešitve

Pri sočasnem pinganju lahko naletite na nekaj težav. Prva je časovna omejitev, saj lahko preveč sočasnih zahtevkov preobremeni omrežje ali ciljne naprave. V tem primeru zmanjšajte število sočasnih pingov ali povečajte presledke med njimi. Druga težava je blokiranje ICMP prometa s strani požarnega zidu. Če ne prejemate odgovorov, preverite nastavitve požarnega zidu na ciljnih napravah. Tretja težava je napačna sintaksa ukaza. Pri zanki for v ukazni vrstici bodite pozorni na uporabo znakov %i v ukazni vrstici in %%i v paketnih datotekah. V PowerShell pazite na narekovaje in vejice. Če uporabljate orodja tretjih oseb, preverite, ali so združljiva z vašo različico sistema Windows.

Praktični primer uporabe

Predstavljajmo si, da ste skrbnik omrežja v podjetju s 50 računalniki. Želite preveriti, kateri so trenutno vklopljeni. Uporabite zanko for v ukazni vrstici: for /L %i in (1,1,50) do ping -n 1 -w 30 192.168.1.%i | find Reply. Ukaz bo prikazal le naslove, ki so odgovorili. Rezultate lahko shranite v datoteko. Če želite sočasno preverjanje, uporabite PowerShell z Start-Job. Ustvarite skript, ki za vsak naslov zažene ozadnje opravilo. Po nekaj sekundah preverite rezultate. Ta pristop je hitrejši od zaporednega pinganja, še posebej pri večjem številu naprav. Za redno spremljanje lahko uporabite PingInfoView, ki omogoča stalno osveževanje rezultatov.

Zaključek

Pinganje več naslovov hkrati je nepogrešljiva veščina za vsakogar, ki dela z omrežji. Ne glede na to, ali uporabljate preprosto ukazno vrstico, naprednejši PowerShell ali specializirana orodja, obstaja rešitev za vsako potrebo. Zanka for v cmd je odlična za hitro preverjanje obsega naslovov, medtem ko PowerShell ponuja možnost vzporednega izvajanja. Orodja tretjih oseb, kot je PingInfoView, pa so idealna za uporabnike, ki dajejo prednost grafičnemu vmesniku. Z upoštevanjem nasvetov v tem članku boste lahko učinkovito spremljali svoje omrežje in hitro odpravljali težave.

Reference

Informacije v tem članku temeljijo na uradni dokumentaciji in virih skupnosti. Za podrobnejše informacije o ukazu ping v sistemu Windows obiščite Microsoftovo dokumentacijo na learn.microsoft.com. Uporaba zanke for v ukazni vrstici je podrobno opisana na spletnem mestu SuperUser, kjer so na voljo primeri in razlage superuser.com. Dodatne informacije o PowerShell cmdletu Test-Connection so na voljo v Microsoftovi dokumentaciji. Orodje PingInfoView je na voljo na spletni strani NirSoft.

ping ukazna vrstica omrežje diagnostika cmd terminal
Opomba Vsebina je informativna in namenjena osnovnemu razumevanju uporabe ping ukaza.
Avtor

Stefano Barcellos

Sodelavec na Visite Barbados.

« Prejšnja objava
Kako povezati NS Pro s kablom neposredno na PC?

Sorodne objave