8.6 Hálózati diagnosztika
Amikor a Linux rendszered tökéletesen működik, a hálózat láthatatlanul teszi a dolgát a háttérben. De eljön az a pillanat, amikor a weboldalak nem töltenek be, a távoli szervered elérhetetlenné válik, vagy egy helyi hálózati szolgáltatás egyszerűen nem válaszol. Ilyenkor a grafikus felületen pörgő homokóra nem ad választ a „miértre”.
A terminál azonban ad egy használható diagnosztikai eszköztárat a kezedbe, hogy megállapítsd, hol szakadt meg a kapcsolat: a te gépedben, a helyi routerben, az internetszolgáltatódnál, vagy egy távoli kontinensen lévő szerverteremben.
Ebben az alfejezetben megismerkedünk azokkal a klasszikus és modern parancssori hálózati eszközökkel, amelyek minden rendszergazda és haladó felhasználó eszköztárának alapját képezik.
8.6.1 Alapvető kapcsolat-ellenőrzés: ping
A hálózati hibaelhárítás alfája és ómegája a ping parancs. Nevét a tengeralattjárók szonárjának hangjáról kapta, működési elve pedig pontosan ugyanez: kiküld egy apró adag adatot (egy ICMP Echo Request csomagot) a célpontnak, és várja a visszhangot (ICMP Echo Reply).
Ezzel a pofonegyszerű eszközzel három létfontosságú dolgot tudsz azonnal ellenőrizni:
- Elérhetőség: Egyáltalán létezik-e a gép a hálózaton és hajlandó-e szóba állni veled?
- Késleltetés (Latency / Ping): Hány ezredmásodperc (ms) alatt teszi meg az út oda-vissza az adatcsomag?
- Csomagveszteség (Packet Loss): Eljut-e minden kiküldött adat a célig, vagy útközben elvesznek a csomagok (ami instabil kapcsolatra, például rossz wifi jelre utal)?
A ping használata
A Windows operációs rendszerekkel ellentétben a Linux ping parancsa nem áll le automatikusan 4 csomag után. Addig küldi az adatokat, amíg te meg nem szakítod a Ctrl + C billentyűkombinációval.
ping google.com
Ha nem akarod manuálisan megszakítani, a -c (count) kapcsolóval pontosan megadhatod, hány csomagot küldjön ki:
ping -c 4 192.168.1.1
A parancs leállása után egy statisztikát kapsz. Keresd a packet loss értékét (ideális esetben ez 0%), valamint az rtt min/avg/max/mdev sort, ami az átlagos válaszidőt mutatja ezredmásodpercben.
Sok szerver tiltja az ICMP-t, miközben a weboldal tökéletesen működik. Próbáld csak meg pingelni például a digi.hu-t, miközben a weboldalát nézegeted!
8.6.2 Az útvonal feltérképezése: traceroute
Ha a ping sikertelen (vagyis nem kapsz választ, esetleg óriási a csomagveszteség), a következő kérdés az: Hol akadt el a csomag?
Az internet nem egyetlen kábelből áll. Amikor megnyitsz egy weboldalt, az adatcsomagod tucatnyi routeren, átjárón és üvegszálas gerinchálózaton (úgynevezett „ugrásokon” vagy hop-okon) halad keresztül. A traceroute parancs feltérképezi és kilistázza ezt a pontos útvonalat.
A traceroute futtatása
(Megjegyzés: Ha a parancs nem található, a legtöbb disztribúción a traceroute vagy a modernebb mtr csomag telepítésével teheted elérhetővé).
traceroute digi.hu
A kimenetben soronként látni fogod az állomásokat:
- Az első sor szinte mindig a saját otthoni routered (pl.
192.168.1.1vagy10.0.0.1). - A következő néhány sor a helyi internetszolgáltatód (ISP) belső hálózata.
- Ezután jönnek a nemzetközi csomópontok.
- Az utolsó sor maga a célszerver.
A traceroute-ban megjelenő * * * nem feltétlenül jelenti a kommunikáció megszakadását. A csillagok azt mutatják, hogy az adott próbaküldeményre nem érkezett válasz időben, ami lehet szűrés, terhelés, prioritáskezelés vagy aszimmetrikus útvonal következménye. Csak akkor tekinthető valódi hibának, ha a csillagok egy ponttól kezdve minden további hopon megjelennek, és a cél sem érhető el sem ICMP‑vel, sem TCP‑vel, sem az alkalmazás szintjén.
A Linux traceroute alapértelmezés szerint UDP csomagokat küld, de ICMP és TCP mód is választható. A különféle protokollok között a traceroute parancs kapcsolói váltanak:
-IICMP (Ping)-UUDP-TTCP
Valamint a port is kiválasztható a -p kapcsolóval.
Például: traceroute -T -p 80 digi.hu
A normál traceroute paranccsal ellentétben a fenti parancs már sudo azaz rendszergazdai jogosultságot igényel.
8.6.3 Névfeloldás és DNS vizsgálat: dig
A számítógépek IP-címek (pl. 142.250.180.206) alapján kommunikálnak, de az emberek számára ezek megjegyezhetetlenek. A DNS (Domain Name System) az internet telefonkönyve, amely a begépelt webcímeket (pl. google.com) IP-címekké fordítja.
Ha a ping csak IP-címekre működik, de weboldalnevekre "Name or service not known" hibát dob, akkor a netkapcsolatod jó, de a DNS-szervered (a telefonkönyv) nem működik. Ennek vizsgálatára szolgál a dig (Domain Information Groper) parancs.
dig google.com
A kimenetben az ANSWER SECTION a lényeges rész: itt látod, hogy a domain névhez milyen IP-cím(ek) tartoznak (ezeket hívják "A rekordnak").
Ha azt gyanítod, hogy a szolgáltatód által megadott DNS-szerver a lassú vagy hibás, a dig paranccsal célzottan lekérdezhetsz egy alternatív, független szervert (például a Google 8.8.8.8 vagy a Cloudflare 1.1.1.1 szerverét) a @ jel használatával:
dig @1.1.1.1 google.com
Ha ez azonnal visszaadja az IP-címet, míg a sima dig parancs nem, akkor biztos lehetsz benne, hogy a routeredben beállított alapértelmezett DNS a bűnös.
8.6.4 Helyi nyitott portok ellenőrzése: ss és netstat
A hálózati diagnosztika nem csak arról szól, hogy te elérsz-e másokat, hanem arról is, hogy a te gépeden milyen szolgáltatások futnak és „hallgatóznak” a hálózaton.
A régebbi leírásokban gyakran találkozhatsz a netstat paranccsal, de a modern Linux rendszerekben ezt felváltotta egy sokkal gyorsabb és modernebb eszköz: az ss (Socket Statistics).
Az ss paranccsal kiderítheted, hogy miért nem indul el egy webszervered (talán egy másik program már lefoglalta a 80-as portot?), vagy ellenőrizheted, hogy nem fut-e valamilyen gyanús, kéretlen szolgáltatás a háttérben.
A leggyakrabban használt és leginformatívabb kapcsolókombináció, amit érdemes azonnal elsajátítani:
sudo ss -tulpn
Mit jelentenek a betűk?
-t(TCP): Csak a TCP protokollú kapcsolatokat listázza.-u(UDP): A TCP mellett az UDP kapcsolatokat is megjeleníti.-l(Listening): Csak azokat a portokat mutatja, amelyek aktívan hallgatóznak, azaz bejövő kapcsolatra várnak.-p(Process): Kiírja, hogy pontosan melyik szoftver/processz használja az adott portot (ezért kell asudo, a normál felhasználó nem láthatja más programok folyamatait).-n(Numeric): A portok nevei (pl.httpvagyssh) helyett a konkrét portszámokat (pl.80vagy22) jeleníti meg.
Ha a listában látod a 0.0.0.0:22 bejegyzést az sshd folyamat neve mellett, az azt jelenti, hogy az SSH szervered tökéletesen fut, és a géped minden hálózati kártyáján várja a 22-es porton a bejövő kapcsolatokat.
8.6.5 Hálózatbiztonság és portvizsgálat: nmap
Míg az ss a saját géped belső röntgenképe, addig az nmap (Network Mapper) a távoli gépek letapogatására szolgáló professzionális biztonsági célszerszám.
Figyelmeztetés: Az
nmapegy kiberbiztonsági fegyver. Kizárólag a saját hálózatodon vagy olyan szervereken használd, amelyek a te tulajdonodban vannak! Idegen, publikus szerverek engedély nélküli agresszív szkennelése támadásnak minősülhet, és a szolgáltatód letilthat.
Az nmap megmondja, hogy egy hálózati eszközön (például egy másik PC-n, egy IP-kamerán vagy a routereden) milyen portok vannak nyitva, és gyakran még azt is képes azonosítani, hogy milyen operációs rendszer fut azokon.
Egy konkrét gép portjainak szkennelése
Ha szeretnéd tudni, hogy a 192.168.1.50-es IP-című gépen fut-e az SSH szolgáltatás vagy bármi más:
nmap 192.168.1.50
Szolgáltatás-verziók detektálása
A -sV kapcsoló utasítja az nmap-et, hogy ne csak a nyitott portokat listázza ki, hanem próbáljon meg kommunikálni a port mögött futó programmal, és derítse ki annak pontos nevét és verziószámát (pl. OpenSSH 8.9p1).
nmap -sV 192.168.1.50
A teljes helyi hálózat felderítése
Ha nem tudod egy hálózati nyomtató vagy egy okosotthon-eszköz IP-címét, de tudod, hogy a hálózatod a 192.168.1.X tartományban van, az nmap képes végigpásztázni az összes lehetséges (mind a 254) IP-címet, és kilistázni a hálózatra kötött aktív eszközöket. Ehhez a CIDR maszkot (/24) kell használni:
nmap -sn 192.168.1.0/24
(Az -sn kapcsoló kikapcsolja a portszkennelést, és csak azt ellenőrzi, hogy a gépek online vannak-e (ping sweep), ami rendkívül gyorssé teszi a folyamatot.)
Haladó hálózati rendszergazdáknak: az nmap LAN-on ARP lekérdezést használ, WAN-on ICMP-t vagy TCP SYN-t.


