Internethiba felderítése (ping, ipconfig, tracert)

2022-05-23
Egy rövid lista arról, hogy milyen lehetőségeink vannak a hiba helyének minél pontosabb meghatározására és esetleg a hiba elhárítására is. A cikkben megpróbálunk azonnal használható módszereket adni.

Számtalanszor előfordul mindenkivel, hogy “elmegy” az internet. Az okok közül igen gyakoriak a következők: kicsúszik az kábel a gépből vagy a fali aljzatból, “vacakol” a wifi, esetleg a központi router nem kap áramot. Ezeket viszonylag könnyen ellenőrizni tudja egy átlagos felhasználó is, de mi történik, ha a fentiek mind rendben vannak, de mégsem áll helyre a netkapcsolat? Ugye egy átlagfelhasználó számára ez csupán egy bosszantó dolog, de egy fejlesztőnek igen komoly károkat tud okozni még egy rövid leállás is.

Jöjjön egy rövid lista, milyen lehetőségeink vannak a hiba helyének minél pontosabb meghatározására és esetleg a hiba elhárítására is. A cikkben terjedelmi okokból nem ásunk bele a hálózatok működésébe, csak megpróbálunk röviden azonnal használható módszereket adni a hibaelhárításra.


1. A hiba pontos helyének meghatározása a “ping” parancs használatával

Érdekesség:  A ping elnevezés a haditengerészetben használatos szonárterminológiából származik. A szonárban a ping egy hallható hanghullám, amelyet azért küldenek ki, hogy megtaláljanak egy tárgyat. Ha a hang eltalálja a tárgyat, a hanghullámok visszaverődnek vagy visszhangoznak vissza a forráshoz. A tárgy távolsága és elhelyezkedése a visszatérő hanghullám idejének és irányának mérésével határozható meg. Háborús filmekben láthatjuk, illetve hallhatjuk, milyen, amikor egy romboló pingeli a tengeralattjárót.

A ping parancs igen nagy előnye, hogy platformfüggetlen, szinte minden épkézláb operációs rendszer része, így ugyanolyan jól használható Windows parancssorból, mint Linuxos munkaállomásról, de akár szerverről is, ha van direkt hozzáférésünk.

Windows alól legegyszerűbb a „cmd” rövidítést beütnünk a keresőbe, és rögtön feldobja a parancssor alkalmazás indítását.

Ahhoz, hogy sikeresen használni tudjuk a pinget, kell egy célállomás, ami vagy egy IP cím vagy egy gépnév, esetleg domain név. A lenti példán a hazai IT szakemberek egyik kedvenc oldalát az index.hu-t pingeljük, ami jellemzően olyan technikai háttérrel rendelkezik, hogy gyakorlatilag mindig elérhető. Ugyanígy megbízható célpont a google.com is, ha azt szeretnénk kiválasztani.


Screenshot ping parancsról



Mi az, amit megtudtunk a fentiekből?

Nagyjából annyit, hogy az internet általános működésével nincsen baj, tehát ha az általunk használni kívánt weboldal nem töltődik be, akkor valószínűleg azzal van gond, esetleg a gépünkön vagy saját hálózatunkon belül van valami probléma. Ez lehet routolási vagy névfeloldási gond, ezekre egy külön cikkben térünk majd ki.

Érdekesség, hogy bár egy domain nevet pingeltünk, a választ egy IP címtől kaptuk, ugyanis a hálózati forgalom a valóságban IP címek között zajlik. A névfeloldási szolgáltatás (Domain Name Service, vagy DNS) egy köztes szolgáltatás, aminek a hibája szintén okozhat nálunk látszólagos internet problémát.

A lenti képen szándékosan egy nem létező domain nevet írtam be, de hasonlóan nem kapunk választ, ha a DNS szerverekkel van gond. Ezek jellemzően az internetszolgáltatónk szerverei, ezek időnként átmenetileg elérhetetlenné válhatnak. Hogy ez történt-e, célszerű egy ismert IP címet megpingelni: a szakmában népszerű a könnyen megjegyezhető 8.8.8.8 IP cím, ami a Google központi DNS szerverének a címe. Ha az válaszol, biztosan névszerver probléma van, így ebben az esetben vagy várunk vagy a hosts file szerkesztésével áthidaljuk a problémát, amennyiben tudjuk a céloldal IP címét.


Screenshot a "ping" parancsról



És milyen, amikor nem megy az internet, azaz komoly központi hiba van?

Ezek lehetnek nemzetközi névfeloldási (DNS) problémák és fizikai hálózati hibák. Ilyen esetben a 8.8.8.8-tól sem kapunk választ. A DNS hibát fent részleteztük, de a fizikai hiba esetén még van egy lehetőségünk a belső hálózatot átnézni.


2. Ipconfig parancs az IP cím és gateway lekérdezésére

Az ipconfig szintén parancssorból érhető el. Jellemzően két módon használjuk: önmagában vagy a –all paraméterrel. Önmagában kevés infóval szolgál, de elsőre nekünk ez elegendő is.

  • Megkapjuk a saját IP címünket. Ha nincsen, akkor meg is van a probléma: vagy a hálókártyával van gond vagy a DHCP szerverrel. Ilyenkor lehet segítség a fix IP cím beállítása, de ezekről máshol lesz szó.
  • A másik lényeges infó a default gateway (GW), azaz alapértelmezett átjáró. Általánosságban ez a routerünk címe. Ha esetleg nincsen GW, akkor szintén megvan a probléma, be kell állítani.
  • Az „all” paraméterrel már több infót kapunk: ebből lényeges a fizikai cím és a description, ami ha hiányzik, hálózati kártya hibára utal.
  • Lényeges lehet még a DHCP szerver, ugyanis főleg rosszul beállított hálózatokon, ahol több aktív eszköz is van (routerek, wifi-k) időnként rossz helyről kapunk IP címet, ami okozhat megmagyarázhatatlan hibákat.


Screenshot az Ipconfig parancsról



Mit tegyünk, ha van IP címünk is és gateway-ünk is, de nincs internet?

Segít a jó öreg ping parancs, de most a GW címét írjuk be.

Első esetben kapunk választ, így tudjuk, hogy nálunk minden rendben van. Második esetben szándékosan elírtam a címet, hogy lássuk, milyen választ kapunk, amikor nem érhető el a GW. Ebben az esetben tudhatjuk, hogy nálunk van a hiba. Elsőnek indítsuk újra a routert, és ha az nem segít, sajnos be kell lépni a router kezelő felületére, ami IP cím nélkül nem egyszerű, vagy át kell néznünk, hogy valamiért nem rossz IP-t adtunk/kaptunk-e GW-ként. Végső esetben ún. "hard reset"-et végezhetünk a routeren, amely után az eredeti, alapértelmezett, "gyári" IP címen léphetünk be a routerbe. Ezt azonban csak végső esetben alkalmazzuk, mert "hard reset" után újra kell konfigurálni az IP címet.

Ha újraindítottuk a routert és várjuk, mikor „éled fel”, használhatjuk a „ping -t” parancsot, ami addig ismétli a pingelést, amíg a CTRL-C lenyomásával meg nem szakítjuk. Így amint érkezik végre válasz, tudjuk, hogy érdemes újra próbálkoznunk a böngészővel is. A „-t” paraméter akkor is hasznos, ha látni szeretnénk, stabil-e a szolgálatás. Az rossz jel, ha időnként „eldobott” csomagokkal találkozunk.

Screenshot a pconfig parancsról



3. Minden rendben, mégsem jön be a céloldal? Tracert parancs használata

Tracert (trace route = Nyomon követési útvonal) parancs segítségével megtudhatjuk, milyen kusza útvonalon jut el kérésünk a céloldalhoz. Az internet különböző eszközök bonyolult, pókhálószerűen összekötött hálózata, ahol általában minden lényeges eszköznek van tartalékja, és számtalan közbülső ponton keresztül jut el a jel egyik pontból a másikba. Előfordul, hogy valami fatális hiba miatt az egyik pont nem helyettesíthető, ezért ami mögötte van, az időlegesen elérhetetlenné válik. Tehát látszólag minden jó: amerikai ismerőseink gond nélkül látják a weboldalt, Európából viszont elérhetetlen vagy fordítva. Esetlg mobilhálózatról nem jön be a weboldal, mert elszállt egy átjátszó, asztali gépről viszont tökéletes. És még millió eset lehetséges.

A mellékelt képen két nyomkövetés is látható. Az egyik a már tárgyalt Google DNS szerver, a másik a yandex.ru, amit gyakran a Google orosz megfelelőjének is említenek. Látható, hogy egy darabig ugyanazokon a külső GW-ken keresztül megy a jel, majd változás történik, és a válaszidők is növekednek. A ”timeout”-ok ilyen esetekben a nemzetközi forgalom miatt nem meglepőek, egyszerűen egy „bedugult” csomópont helyett másik utat keres a csomag.

Mit tudhatunk meg a nyomkövetésből?

Az internetes forgalomban nagyon fontosak a válaszidők és az összeomlás elkerülése végett időkorlátok (timeout-ok) vannak beállítva. A timeout ideje változó, idejét milliszekundumban (ms) mérjük. Extrém esetekben a válaszidők olyan magasak lehetnek, hogy a böngészőnk már hibát dob a céloldal betöltésekor. Ezek jellemzően vagy kiugróan magas forgalom vagy túlterheléses támadás (DDoS) vagy valami közbülső műszaki hiba miatt következhetnek be. Ha esetleg fejlesztünk, és rendszeresen magasak a válaszidők, mindenképpen keressünk másik szervert vagy nézzük/nézessük át a konfigurációt.


Screenshot a tracert parancsról



Összefoglalás, tippek

  • Ha nem tölt be egy webodal, először nézzük meg a saját hálózatunkat. Ellenőrizzük a kábeleket, illetve a wifi kapcsolatot. Az esetek 30-40%-ában itt van a hiba.
  • Ha fizikailag minden rendben van, kérjük le „ipconfig”-gal a gépünk beállításait. Célszerű ezt korábban, még megfelelő működés mellett megtenni és felírni vagy elmenteni az adatokat. Így ezeket hiba esetén össze tudjuk hasonlítani, és sokszor meg is találjuk a hiba okát.
  • Pingeljük meg a routert/belső GW-t. Ha nem válaszol, indítsuk újra. Ha ez sem segít, próbáljuk újra konfigurálni.
  • Pingeljük meg a céloldal domain nevét. Ha nem működik a névfeloldás, pingeljük meg a 8.8.8.8-at.
  • Ha a Google DNS válaszol, de a névfeloldás nem működik, hívjuk a netszolgáltatót, valószínűleg nála lesz a hiba.
  • Ha a Google DNS sem válaszol, próbáljunk egy tracert-t, hogy lássuk, hol akad el a jel. Ha a második vagy harmadik lépésnél, akkor gyaníthatóan általános hiba van. Ha már a mi routerünk után, akkor a netszolgáltatónknál lesz a gond.
  • Nem minden webtárhely-szolgáltató engedélyezi a pinget, ezért kérdezzünk rá a szolgáltatónknál a ping használatára, ha timeout-ot kapunk.


Ha érdekel a számítástechnika, alábbi IT képzéseinket ajánljuk figyelmedbe: Webszerkesztés alapjai, Webfejlesztő, Junior Java backend fejlesztő, Junior frontend fejlesztő, Junior szoftvertesztelőJunior rendszerüzemeltető