|
||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
Software (10844)
|
Linux v příkazech - diagnostika sítěPo dokončení konfigurace sítě se podíváme blíže na diagnostiku.
How much net work could a network work, if a network could net work? Ověření stavu síťových zařízení
Nejprve se podíváme, zda vlastní zařízení běží. Vzhledem k tomu,
že často používaný program Podívejme se, která zařízení jsou v systému: oc@hippo:~$ ip addr list 1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: eth0:< BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:04:75:c4:66:6f brd ff:ff:ff:ff:ff:ff inet 192.168.0.2/24 brd 192.168.0.255 scope global eth0 První síťové zařízení je v tomto případě lokální smyčka (loopback), která slouží pro testování a pro zjednodušení komunikace lokálních síťových procesů.
Druhé síťové zařízení je první síťová karta. Její MAC adresa je obsahem druhého
řádku spolu s adresou, na které přijímá broadcast packety. Na třetím řádku je
nastavená IP adresa s kompaktním zápisem síťové masky a adresa pro
broadcast. Mimochodem, pokud by se vám zdála délka příkazu příliš dlouhá,
můžete ho zkrátit na
Dále se můžeme podívat, jestli jsou nějak nastaveny routovací pravidla (kam a
jak se mají packety směrovat). Opět použijeme program oc@hippo:~$ ip route ls 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2 default via 192.168.0.254 dev eth0 První síťová karta je tedy v síti 192.168.0.x, má adresu 192.168.0.2 a implicitně je síťový provoz směrován na gateway na adrese 192.168.0.254. Směrování se zdá v pořádku, proto se podíváme, jestli síť opravdu funguje. Test spojení
Nejprve zkusíme spojení pomocí jednoduchého programu
Název programu Základní použití je opravdu jednoduché, zkusíme si nejprve otestovat, jestli reaguje druhý počítač v síti. oc@hippo:~$ ping 192.168.0.1 -c 10 PING 192.168.0.1 (192.168.0.1): 56 data bytes 64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=0.6 ms 64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.2 ms 64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.2 ms 64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=4.0 ms 64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=0.2 ms 64 bytes from 192.168.0.1: icmp_seq=5 ttl=64 time=0.2 ms 64 bytes from 192.168.0.1: icmp_seq=6 ttl=64 time=0.2 ms 64 bytes from 192.168.0.1: icmp_seq=7 ttl=64 time=0.2 ms 64 bytes from 192.168.0.1: icmp_seq=8 ttl=64 time=0.2 ms 64 bytes from 192.168.0.1: icmp_seq=9 ttl=64 time=0.2 ms --- 192.168.0.1 ping statistics --- 10 packets transmitted, 10 packets received, 0% packet loss round-trip min/avg/max = 0.2/0.6/4.0 ms
Parametr
Standardně ping posílá 56 bytů (toto nastavení můžete změnit parametrem
Mezi vysíláním jednotlivých packetů dělá
Na obrazovku je průběžně vypisováno, které packety se vrátily, s jakým zpožděním,
případně zda jsou duplikovány nebo poškozeny. V tomto případě přišlo všech 10
packetů v tom pořadí, v jakém byly vyslány s různou odezvou. Na konci
Tolik k základnímu použití. Nyní se podíváme na některé další zajímavé volby.
Pokud zapneme parametr
Další zajímavou volbou je
Dále si můžeme představit ještě jeden velmi zajímavý program –
Rovnou si můžeme uvést příklad: root@hippo:~# hping2 -I eth0 -S 192.168.0.1 -c 5 -p 22 HPING 192.168.0.1 (eth0 192.168.0.1): S set, 40 headers + 0 data bytes len=46 ip=192.168.0.1 flags=SA DF seq=0 ttl=64 id=0 win=5840 rtt=0.6 ms len=46 ip=192.168.0.1 flags=SA DF seq=1 ttl=64 id=0 win=5840 rtt=0.4 ms len=46 ip=192.168.0.1 flags=SA DF seq=2 ttl=64 id=0 win=5840 rtt=0.4 ms len=46 ip=192.168.0.1 flags=SA DF seq=3 ttl=64 id=0 win=5840 rtt=0.3 ms len=46 ip=192.168.0.1 flags=SA DF seq=4 ttl=64 id=0 win=5840 rtt=0.3 ms --- 192.168.0.1 hping statistic --- 5 packets tramitted, 5 packets received, 0% packet loss
Volba
Mezi další zajímavé volby patří např. Zobrazení stavu
Pokročme dále – podíváme se na program, který nám zobrazí stav naší
sítě.
Tou první je použití volby oc@hippo:~$ netstat -t Aktivní Internetová spojení (w/o servery) Proto Přích-F Odch-F Místní Adresa Vzdálená Adresa Stav tcp 0 0 192.168.1.1:netbios-ssn 192.168.0.5:3012 SPOJENO tcp 0 0 localhost:7634 localhost:36792 TIME_WAIT tcp 0 0 hippo:36793 mail.linuxsoft.cz:pop3s TIME_WAIT tcp 0 0 localhost:7634 localhost:36791 TIME_WAIT tcp 0 0 hippo:36208 205.188.8.44:5190 SPOJENO
Další pro nás zajímavá volba je oc@hippo:~$ netstat -i Tabulka rozhraní v jádru Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 757600 0 0 0 901521 0 0 0 BMRU lo 16436 0 12477 0 0 0 12477 0 0 0 LRU Tak, tuto tabulku si vysvětlíme trošku podrobněji. MTU znamená, jaký největší počet bytů může být najednou poslán přes dané zařízení. Sloupec Met označuje metriku zařízení. Dále tam je několik sloupců, které začínají buď písmeny RX nebo TX. RX označuje příchozí packety, TX naproti tomu odchozí. Příchozí a odchozí packety jsou navíc děleny do skupin – OK znamená, že byl packet přijat/odeslán bez problému, ERR označuje chybný packet, DRP počet zahozených packetů, OVR overrun. Poslední sloupec označuje příznaky, které v tomto případě u zařízení eth0 znamenají, že zařízení přijímá broadcast packety (B), je v promiskuitním režimu (M, to znamená, že všechny přijaté/odeslané packety jsou zaznamenávány), zařízení běží (R) a je aktivní (U). U lokální smyčky je navíc nastaven příznak, který určuje, že je zařízení lokální smyčka (L).
oc@hippo:~$ netstat -natup (Všechny procesy nemohly být identifikovány. Budou vypsány informace pouze o procesech, jichž jste vlastníkem. Aby jste mohl vidět vše, musel byste být superuživatelem.) Aktivní Internetová spojení (servery a navázaná spojení) Proto Přích-F Odch-F Místní Adresa Vzdálená Adresa Stav PID/Program name tcp 0 0 0.0.0.0:515 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:37 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:39693 0.0.0.0:* LISTEN 7346/sim tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:7634 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:33748 0.0.0.0:* LISTEN 6570/artsd tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 192.168.1.1:139 192.168.1.3:3010 SPOJENO - tcp 0 0 192.168.0.2:34103 82.208.29.34:995 TIME_WAIT - tcp 0 0 127.0.0.1:7634 127.0.0.1:34104 TIME_WAIT - tcp 0 0 127.0.0.1:7634 127.0.0.1:34102 TIME_WAIT - tcp 0 0 192.168.0.2:34050 205.188.8.47:5190 SPOJENO 7346/sim tcp 0 12 192.168.2.1:139 192.168.2.128:1035 SPOJENO - udp 0 0 0.0.0.0:517 0.0.0.0:* - udp 0 0 0.0.0.0:518 0.0.0.0:* - udp 0 0 127.0.0.1:32775 0.0.0.0:* - udp 0 0 192.168.2.1:137 0.0.0.0:* - udp 0 0 192.168.0.2:137 0.0.0.0:* - udp 0 0 192.168.1.1:137 0.0.0.0:* - udp 0 0 0.0.0.0:137 0.0.0.0:* - udp 0 0 192.168.2.1:138 0.0.0.0:* - udp 0 0 192.168.0.2:138 0.0.0.0:* - udp 0 0 192.168.1.1:138 0.0.0.0:* - udp 0 0 0.0.0.0:138 0.0.0.0:* - udp 0 0 0.0.0.0:37 0.0.0.0:* - udp 0 0 127.0.0.1:32830 0.0.0.0:* - udp 0 0 0.0.0.0:32832 0.0.0.0:* 7346/sim Netstat nám nezobrazil názvy všech procesů – jak na začátku oznámil, zobrazil pouze ty procesy, které daný uživatel vlastní. Podle seznamu bežících služeb můžete poměrně jednoduše identifikovat (nejlépe jako superuživatel root), který program kde běží a případně zasáhnout.
Další možností jak zjistit, které služby běží, je zobrazení služeb, které na nějakých portech
poslouchají. K tomu slouží příkaz oc@hippo:~$ netstat --inet -l Aktivní Internetová spojení (pouze servery) Proto Přích-F Odch-F Místní Adresa Vzdálená Adresa Stav tcp 0 0 *:32769 *:* LISTEN tcp 0 0 *:printer *:* LISTEN tcp 0 0 *:time *:* LISTEN tcp 0 0 *:netbios-ssn *:* LISTEN tcp 0 0 *:www *:* LISTEN tcp 0 0 *:7634 *:* LISTEN tcp 0 0 *:52244 *:* LISTEN tcp 0 0 *:ftp *:* LISTEN tcp 0 0 *:ssh *:* LISTEN udp 0 0 *:32768 *:* udp 0 0 *:talk *:* udp 0 0 *:ntalk *:* udp 0 0 192.168.0.2:netbios-ns *:* udp 0 0 *:netbios-ns *:* udp 0 0 192.168.0.2:netbios-dgm *:* udp 0 0 *:netbios-dgm *:* udp 0 0 *:time *:* raw 0 0 *:icmp *:* 7 Odchytávání síťového provozuSledování síťového provozu umožňuje nahlédnutí do obsahu samotných packetů. To je umožněno přepnutím síťové karty do tzv. promiskuitního režimu (pozor, při sledování je packet předán vyšší síťové vrstvě i v případě, že tento není pro dané zařízení určen, např. v sítích s HUBy). Obecně se tyto programy nazývají sniffery (z anglického slova sniff) a mají "oboustranné" využití, protože krom hlaviček (které budou zajímavé pro nás) mohou odchytávat některé (z našeho pohledu) zbytečné informace v datové části, jako třeba uživatelské jména a hesla ;-).
Typický zástupcem této kategorie je program root@hippo~# tcpdump -i eth0 tcpdump: listening on eth0 13:23:38.540041 arp who-has 192.168.0.254 tell 192.168.0.2 13:23:38.540780 arp reply 192.168.0.254 is-at 0:80:48:2b:ed:e6 13:23:38.552194 192.168.0.2.1038 > GWHOREP.domain: 52743+ PTR?254.0.168.192.in-addr.arpa. (44) (DF) 13:24:13.041946 192.168.0.2 > 192.168.0.254: icmp: echo request (DF) 13:24:13.043171 192.168.0.254 > 192.168.0.2: icmp: echo reply (DF) 13:24:14.040934 192.168.0.2 > 192.168.0.254: icmp: echo request (DF) 13:24:14.042053 192.168.0.254 > 192.168.0.2: icmp: echo reply (DF) 13:24:18.040046 arp who-has 192.168.0.254 tell 192.168.0.2 13:24:18.040782 arp reply 192.168.0.254 is-at 0:80:48:2b:ed:e6 13:24:21.858459 192.168.0.2.1103 > 192.168.0.254.telnet: S 3338620162:3338620162(0) win 5840 \ <mss 1460,sackOK,timestamp 533032 0,nop,wscale 0> (DF) [tos 0x10] 13:24:21.860205 192.168.0.254.telnet > 192.168.0.2.1103: S 1820639165:1820639165(0) ack 3338620163 \ win 8192 <mss 1460,nop,wscale 0> 13:24:21.860346 192.168.0.2.1103 > 192.168.0.254.telnet: . ack 1 win 5840 (DF) [tos 0x10] 13:24:21.864083 192.168.0.2.1103 > 192.168.0.254.telnet: P 1:28(27) ack 1 win 5840 (DF) [tos 0x10] 13:24:21.865646 192.168.0.254.telnet > 192.168.0.2.1103: P 1:10(9) ack 28 win 8165 13:24:21.865748 192.168.0.2.1103 > 192.168.0.254.telnet: . ack 10 win 5840 (DF) [tos 0x10] 13:24:21.866087 192.168.0.2.1103 > 192.168.0.254.telnet: P 28:31(3) ack 10 win 5840 (DF) [tos 0x10] 13:24:21.868016 192.168.0.254.telnet > 192.168.0.2.1103: P 10:12(2) ack 31 win 8162 13:24:21.900114 192.168.0.2.1103 > 192.168.0.254.telnet: . ack 12 win 5840 (DF) [tos 0x10] 13:24:21.901452 192.168.0.254.telnet > 192.168.0.2.1103: P 12:83(71) ack 31 win 8162
V tomto příkladu vidíme žádost o odpověď a odpověď, kterou generuje např. výše
zmíněný program
Pokud by vás děsil moc podrobný výpis, použijte parametr Další diagnostické nástrojeTrasování
Trasování je činnost, díky které zjistíme, přes které stroje naše komunikace
prochází. Základní program oc@hippo:~$ traceroute www.linuxsoft.cz traceroute to www.linuxsoft.cz (82.208.29.38), 30 hops max, 38 byte packets 1 * * * 2 * * * 3 * * * 4 * * * 5 sp.c2620.st.ja.wlnet.cz (193.165.75.129) 30.441 ms 32.084 ms 32.191 ms 6 ja.c2611.836.tb.wlnet.cz (193.165.79.9) 39.972 ms 39.380 ms 35.485 ms 7 zl.c2651.palcat.ta.wlnet.cz (193.165.72.1) 46.422 ms 54.623 ms 36.695 ms 8 Pha-Ta.bb.skynet.cz (193.165.253.141) 59.549 ms 59.523 ms 58.079 ms 9 nix1.to.cas.ip-anywhere.net (194.50.100.15) 50.252 ms 51.657 ms 51.595 ms 10 henry.casablanca.cz (217.11.224.237) 70.639 ms 56.611 ms 48.762 ms 11 ip38.linuxsoft.cz (82.208.29.38) 55.908 ms 57.809 ms 65.568 ms
Samozřejmě se může stát, že packet zahodí nějaký firewall, v tom případě
vypíše program místo adresy stroje a zpoždění pouze hvězdičku (*). A přesně tohle
řeší program
oc@hippo:~$ /usr/sbin/tcptraceroute -f 2 linuxsoft.cz smtp Selected device eth0, address 192.168.0.2, port 33134 for outgoing packets Tracing the path to linuxsoft.cz (82.208.29.38) on TCP port 25, 30 hops max 2 192.168.99.254 (192.168.99.254) 9.125 ms 8.713 ms 8.620 ms 3 unirov.pacov.net.75.165.193.in-addr.arpa (193.165.75.6) 18.509 ms 18.136 ms 17.950 ms 4 ns.pacov.net (193.165.75.241) 17.769 ms 18.035 ms 18.213 ms 5 pa.c2620.st.ja.wlnet.cz (193.165.75.225) 34.087 ms 26.319 ms 25.624 ms 6 ja.c2611.836.tb.wlnet.cz (193.165.79.9) 36.668 ms 38.294 ms 33.364 ms 7 zl.c2651.palcat.ta.wlnet.cz (193.165.72.1) 60.656 ms 38.718 ms 48.954 ms 8 Pha-Ta.bb.skynet.cz (193.165.253.141) 67.087 ms 65.291 ms 58.226 ms 9 nix1.to.cas.ip-anywhere.net (194.50.100.15) 83.545 ms 86.258 ms 69.052 ms 10 henry.casablanca.cz (217.11.224.237) 54.099 ms 58.291 ms 72.913 ms 11 ip38.linuxsoft.cz (82.208.29.38) [closed] 62.297 ms 63.101 ms 62.888 ms
A co že jsme to vlastně udělali? Příkaz trasoval spojení na adresu linuxsoft.cz, díky parametru Scanování portů atd.Scanováním portů se obvykle rozumí testovaní, zda na daném portu běží nějaká služba. Díky tomu můžete otestovat nastavení svého firewallu a podobně.
Jedním z nejznámějších programů je zřejmě
Opět vám předvedu typické použití programu root@hippo:~# nmap 192.168.0.1 -O -sS Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2004-07-10 22:13 CEST Interesting ports on zlabatka (192.168.0.1): (The 1658 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 22/tcp open ssh 1024/tcp open kdm MAC Address: 00:E0:7D:BA:20:73 (NETRONIX) Device type: general purpose Running: Linux 2.4.X|2.5.X OS details: Linux 2.4.0 - 2.5.20 Uptime 0.509 days (since Sat Jul 10 10:00:00 2004) Nmap run completed -- 1 IP address (1 host up) scanned in 6.271 seconds
Nejprve k volbám: Zdroje
Za konzultace bych chtěl poděkovat Honzovi Houšťkovi.
|
Search Software
Search Google
|
||||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |