Linux komande za testiranje konekcije
Postoji nekoliko zgodnih alata komandne linije za Linux koji vam mogu pomoći u svakodnevnom radu sa mrežom. U ovom tekstu predstavljamo neke najpoznatije Linux komande za testiranje konekcije, brzine konekcije, analizu kašnjenja i dostupnost mrežnih resursa.
Ping
Ping komanda je najjednostavnija i najčešće korišćena komanda za osnovni test konekcije. Ona šalje pakete (echo request) koji ujedno zahtevaju odgovor za zahtev. Komanda prati odgovore i prikazuje ih zajedno sa vremenom odgovora, izraženim u milisekundama, kao i procenat zahteva na koje je dobijen odgovor.
Brzina odgovora pre svega zavisi od toga koji je broj rutera zahtev morao da prođe, kao i od toga koliko je mreža trenutno opterećena. Ukoliko pingujete lokalni sistem (naravno, zavisi od veličine vaše lokalne mreže), najverovatnije ćete dobiti dobre rezultate, bez kašnjenja i bez gubitka paketa.
$ ping 192.168.0.11
PING 192.168.0.11 (192.168.0.11) 56(84) bytes of data.
64 bytes from 192.168.0.11: icmp_seq=1 ttl=64 time=4.36 ms
64 bytes from 192.168.0.11: icmp_seq=2 ttl=64 time=5.86 ms
64 bytes from 192.168.0.11: icmp_seq=3 ttl=64 time=2.87 ms
^C
--- 192.168.0.11 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 2.867/4.361/5.859/1.221 ms
Na Linux sistemima ping će nastaviti da radi sve dok ne ukucate ^c
. Sa druge strane, Windows će slati ping četiri puta i onda će stati.
Što se tiče vremena odziva, kod udaljenih sistema je za očekivati kašnjenje u odgovoru. Važnije od kašnjenja je isporuka paketa. Ukoliko dolazi do gubitka paketa, to sigurno utiče i na kvalitet konekcije. Zato uvek treba obratiti pažnju na eventualni gubitak paketa.
Ovo važi i za testiranje kućne mreže / konekcije ka Internetu. Možete pingovati ineku javno dostupnu adresu (može biti van vašeg ISP-a, ali može biti i gateway vašeg ISP-a) i proveriti kakva je vaša Internet konekcija. Ukoliko je gubitak paketa 0%, konekcija je prošla test. U suprotnom znači da imate problem sa konekcijom.
$ ping 180.65.0.22
PING 180.65.0.22 (180.65.0.22) 56(84) bytes of data.
64 bytes from 180.65.0.22: icmp_seq=1 ttl=46 time=362 ms
64 bytes from 180.65.0.22: icmp_seq=2 ttl=46 time=305 ms
64 bytes from 180.65.0.22: icmp_seq=3 ttl=46 time=276 ms
64 bytes from 180.65.0.22: icmp_seq=4 ttl=46 time=257 ms
^C
--- 180.65.0.22 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 257.172/300.119/362.431/39.775 ms
Traceroute
Traceroute je mnogo kompleksnija komanda od ping komande, jer pokreće niz provera da bi utvrdila koliko dugo traje put između rutera i vratila taj izveštaj nazad. Ukoliko cela provera traje duže vremena, to može da znači da su neki ruteri zagušeniji. Ukoliko rezultat bude niz zvezdica, to znači da nike stigao odgovor od poslednjeg rutera kojem je poslat zahtev za proveru (paket).
Traceroute komanda koristi TTL (time to live) koji omogućava da se dobije tačno vreme između dva skoka sa rutera na ruter.
Evo primera korišćenja traceroute komande na lokalnom sistemu:
$ traceroute 192.168.0.11
traceroute to 192.168.0.11 (192.168.0.11), 30 hops max, 60 byte packets
1 192.168.0.11 (192.168.0.11) 9.228 ms 12.797 ms 12.782 ms
Na drugom primeru ispod vidimo traceroute komandu koja pokušava da dođe do udaljenog sistema, ali ne uspeva da pošalje izveštaj sa svakog skoka. Razlog tome je što ruteri sa kojih nema izveštaja ne šalju nazad odgovor Ovo naravno nije ništa neobično kada je u pitanju komunikacija između rutera. Ponekada jednostavno dođe do zagušenja saobraćaja ili nekog sličnog problema, zbog čega neki paket podataka bude izgubljen.
Podrazumevani maksimalni broj skokova za traceroute komandu je 30. Obratite pažnju da je to podešavanje prikazano u prvoj liniji na izlazu komande.
To može biti promenjeno korišćenjem argumenta -m
. (na primer traceroute -m 50 plus.rs
).
$ traceroute www.amazon.com
traceroute to www.amazon.com (99.84.218.165), 30 hops max, 60 byte packets
1 router (192.168.0.1) 1.586 ms 3.842 ms 4.074 ms
2 10.226.32.1 (10.226.32.1) 27.342 ms 28.485 ms 29.529 ms
3 10.17.1.25 (10.17.1.25) 30.769 ms 31.584 ms 32.379 ms
4 10.17.0.221 (10.17.0.221) 33.126 ms 34.390 ms 35.284 ms
5 10.17.0.226 (10.17.0.226) 37.000 ms 38.837 ms 40.808 ms
6 204.111.0.145 (204.111.0.145) 44.083 ms 42.671 ms 42.582 ms
7 99.82.178.164 (99.82.178.164) 44.254 ms 30.422 ms 31.666 ms
8 * * *
9 * * *
10 * * *
11 52.93.40.225 (52.93.40.225) 41.548 ms 52.93.40.223 (52.93.40.223) 41.808 ms 52.93.40.225 (52.93.40.225) 43.326 ms
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 server-99-84-218-165.iad79.r.cloudfront.net (99.84.218.165) 44.862 ms 44.746 ms 44.713 ms
Ncat
Ncat komanda je višenamenski alat za administratore mreža, ali je ujedno i komnda pomoću koje možete da odredite, recimo da li se konektujete na određeni servis. Originalno je bila namenjena nmap-u (the network mapper).
Slanjem nula bajtova (argument -z
) ka određenom portu na udaljenom sistemu, možete da odredite da li je neki konkretni servis dostupan bez potrebe da u stvari uspostavljate konekciju sa udaljenim sistemom.
$ nc -z -v 192.168.0.11 22
Ncat: Version 7.80 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.0.11:22.
Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.
Komanda iznad nam govori da dobijamo odgovor od SSH, ali da ne pokušava da se uloguje niti pokrene udaljenu komandu. Proveravanjem web sajta na istom sistemu dobijamo drugačiji odgovor (na primer no web server running) za port 80.
$ nc -z -v 192.168.0.11 80
Ncat: Version 7.80 ( https://nmap.org/ncat )
Ncat: Connection refused.
Ukoliko sada proverimo recimo Amazon dobijamo drugačiji odgovor
$ nc -z -v 99.84.218.165 80
Ncat: Version 7.80 ( https://nmap.org/ncat )
Ncat: Connected to 99.84.218.165:80.
Ncat: 0 bytes sent, 0 bytes received in 0.48 seconds.
Kao što ste verovatno već primetili, ncat komanda može biti pozvana korišćenjem nc odnosno ncat.
Speedtest
Speedtest alat testira brzinu konekcije između vašeg računara i vašeg ISP-a. Speedtest će na izlazu prikazati rezultate testa koji sadrže podatke u brziji download-a, upload-a, kao i podatak o latenciji (kašnjenju).
$ speedtest
Speedtest by Ookla
Server: Winchester Wireless - Winchester, VA (id = 21859)
ISP: Shentel Communications
Latency: 25.86 ms (0.96 ms jitter)
Download: 10.34 Mbps (data used: 10.7 MB)
Upload: 1.00 Mbps (data used: 1.1 MB)
Packet Loss: 0.0%
Result URL: https://www.speedtest.net/result/c/bb2e002a-d686-4f9c-8f36-f93fbcc9b752
Zbog specifičnosti Interneta rezultati će uglavnom biti drugačiji svaki put kada ponovo pokrenete test. Naravno, u pitanju bi trebalo da budu manje razlike u rezultatima.
Fast
Za razliku od speedtest-a alat pod nazivom fast proverava brzinu download-a nekoliko puta za redom i zatim prikazuje prosečan rezultat testa. On prikazuje samo brzinu download-a i koristi Netflix-ov speed-testing servis.
$ fast
$ 10.08 Mbps
Ovaj alat može biti instaliran pomoću sledeće komande:
$ wget https://github.com/ddo/fast/releases/download/v0.0.4/fast_linux_amd64
$ sudo install fast_linux_amd64 /usr/local/bin/fast
$ which fast
/usr/local/bin/fast
Nethogs
Komanda nethogs ima potpuno drugačiji pristup od svih do sada predstavljenih komandi u ovom tekstu. Ona prikazuje korišćenje propusnog opsega po procesu, kako bi vam pomogla da po potrebi identifikujete proces koji više koristi vaše raspoložive resurse. Kao što već znate, takvi procesi mogu da uspore vaš mrežni saobraćaj. Drugim rečima, pomaže vam da identifikujete tzv. Nethogs, odakle je i dobila ime.
NetHogs version 0.8.6
PID USER PROGRAM DEV SENT RECEIVED
127832 nemo /usr/lib/firefox/firefox enp0s2 11.120 432.207 KB/sec
413216 shs sshd: shs@pts/1 enp0s2 0.246 0.059 KB/sec
696 root /usr/sbin/NetworkManager enp0s2 0.000 0.000 KB/sec
? root unknown TCP 0.000 0.000 KB/sec
TOTAL 0.246 432.266 KB/sec
Na primeru iznad je očigledno koji proces od izlistanih koristi najviše mrežnih resursa na dotičnom sistemu.
Ovo su naravno samo neke od komandi koje možete koristiti u vašem svakodnevnom radu sa mrežom.
Koje su vaše omiljene komande ili alati za testiranje konekcije? Podelite sa našim čitaocima.
Bez komentara