--- author: Matija Burić --- ### Mrežni i mobilni operacijski sustavi 2025/26 # Networking: analiza, postavljanje i rješavanje problema U ovoj vježbi prolazimo osnovne mrežne postavke, povezivost, portove, subnetiranje i sigurnosne koncepte. ### 1. Osnovne mrežne postavke Provjeri mrežne postavke svog računala. #### Windows ```bat ipconfig /all Windows IP Configuration Ethernet adapter Ethernet: Connection-specific DNS Suffix . : Site-local IPv6 Address . . . . . : fec0::51f8:8cfd:eee3:2760%1 Link-local IPv6 Address . . . . . : fe80::aa9e:8ae6:47d3:a892%30 IPv4 Address. . . . . . . . . . . : 192.168.0.100 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.0.1 ``` #### Linux/macOS ```shell $ifconfig eth0 Link encap:Ethernet HWaddr 00:15:5D:98:CD:CF inet addr:172.28.220.88 Bcast:172.28.223.255 Mask:255.255.240.0 inet6 addr: fe80::215:5dff:fe98:cdcf/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:18 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:837 (837.0 B) TX bytes:1318 (1.2 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) ``` ### 2. Provjera povezanosti i rute - Pingaj svoj gateway. #### Windows ```bat ping 192.168.0.1 Pinging 192.168.0.1 with 32 bytes of data: Reply from 192.168.0.1: bytes=32 time=5ms TTL=64 Reply from 192.168.0.1: bytes=32 time=6ms TTL=64 Reply from 192.168.0.1: bytes=32 time=1ms TTL=64 Reply from 192.168.0.1: bytes=32 time=1ms TTL=64 Ping statistics for 192.168.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 6ms, Average = 3ms ``` #### Linux/macOS ```shell $ping 172.28.208.1 PING 172.28.208.1 (172.28.208.1): 56 data bytes 64 bytes from 172.28.208.1: seq=0 ttl=128 time=0.674 ms 64 bytes from 172.28.208.1: seq=1 ttl=128 time=1.372 ms 64 bytes from 172.28.208.1: seq=2 ttl=128 time=1.270 ms 64 bytes from 172.28.208.1: seq=3 ttl=128 time=1.256 ms 64 bytes from 172.28.208.1: seq=4 ttl=128 time=0.955 ms 64 bytes from 172.28.208.1: seq=5 ttl=128 time=1.271 ms ^C --- 172.28.208.1 ping statistics --- 6 packets transmitted, 6 packets received, 0% packet loss round-trip min/avg/max = 0.674/1.133/1.372 ms ``` - Pingaj javnu IP adresu #### Windows ```bat ping 8.8.8.8 Pinging 8.8.8.8 with 32 bytes of data: Reply from 8.8.8.8: bytes=32 time=54ms TTL=114 Reply from 8.8.8.8: bytes=32 time=40ms TTL=114 Reply from 8.8.8.8: bytes=32 time=62ms TTL=114 Reply from 8.8.8.8: bytes=32 time=42ms TTL=114 Ping statistics for 8.8.8.8: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 40ms, Maximum = 62ms, Average = 49ms ``` - Pingaj domenu (npr. www.google.com). #### Windows ```bat ping www.google.com Pinging www.google.com [142.251.39.4] with 32 bytes of data: Reply from 142.251.39.4: bytes=32 time=44ms TTL=113 Reply from 142.251.39.4: bytes=32 time=40ms TTL=113 Reply from 142.251.39.4: bytes=32 time=38ms TTL=113 Reply from 142.251.39.4: bytes=32 time=40ms TTL=113 Ping statistics for 142.251.39.4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 38ms, Maximum = 44ms, Average = 40ms ``` - Traceroute prema 8.8.8.8 #### Windows ```bat tracert 8.8.8.8 Tracing route to dns.google [8.8.8.8] over a maximum of 30 hops: 1 5 ms 1 ms 1 ms ralink.ralinktech.com [192.168.0.1] 2 * * * Request timed out. 3 * * * Request timed out. 4 * * * Request timed out. 5 * * * Request timed out. 6 41 ms 41 ms 42 ms dh120-129.xnet.hr [83.139.120.129] 7 34 ms 38 ms 38 ms ae72.edge1.Zagreb1.Level3.net [213.19.207.81] 8 52 ms 49 ms 44 ms ae2.3201.ear1.sof5.neo.colt.net [171.75.8.57] 9 36 ms 36 ms 37 ms 173.194.121.16 10 37 ms 35 ms 40 ms 216.239.59.239 11 52 ms 37 ms 40 ms 72.14.237.137 12 45 ms 47 ms 37 ms dns.google [8.8.8.8] Trace complete. ``` #### Linux/macOS ```shell $traceroute 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 46 byte packets 1 konj (172.28.208.1) 0.483 ms 0.386 ms 0.272 ms 2 ralink.ralinktech.com (192.168.0.1) 0.913 ms 1.258 ms 0.929 ms 3 * * * 4 * * * 5 * * * 6 * * * 7 dh120-17.xnet.hr (83.139.120.17) 164.752 ms dh120-129.xnet.hr (83.139.120.129) 31.661 ms 27.350 ms 8 ae72.edge1.Zagreb1.Level3.net (213.19.207.81) 37.870 ms * 27.178 ms 9 ae2.3201.ear1.sof5.neo.colt.net (171.75.8.57) 35.631 ms lag25-9070.as8447.a1.net (195.3.64.141) 46.328 ms 29.935 ms 10 lag1-9073.as8447.a1.net (195.3.64.150) 40.241 ms 58.784 ms 173.194.121.16 (173.194.121.16) 46.641 ms 11 * * * 12 * * * 13 dns.google (8.8.8.8) 42.912 ms 43.369 ms 45.812 ms ``` ### 3. Portovi i aplikacije - Provjeri otvorene portove na računalu. #### Windows ```bat netstat -an Active Connections Proto Local Address Foreign Address State ... ... ... ... TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:902 0.0.0.0:0 LISTENING TCP 192.168.0.100:54937 98.66.133.185:443 ESTABLISHED TCP 192.168.0.100:57830 142.251.39.37:443 ESTABLISHED TCP 192.168.0.100:57852 104.18.32.47:443 TIME_WAIT TCP 192.168.0.100:57986 172.64.152.233:443 ESTABLISHED TCP 192.168.0.100:59424 2.22.89.16:443 ESTABLISHED TCP 192.168.0.100:59448 88.221.92.137:443 CLOSE_WAIT TCP 192.168.0.100:59496 98.66.133.186:443 ESTABLISHED TCP 192.168.0.100:59665 13.107.138.10:443 ESTABLISHED TCP 192.168.0.100:59667 52.110.4.129:443 TIME_WAIT TCP 192.168.0.100:59669 52.110.4.129:443 TIME_WAIT TCP 192.168.0.100:59670 199.232.18.172:80 TIME_WAIT TCP 192.168.0.100:59674 20.189.173.26:443 TIME_WAIT TCP 192.168.0.100:59677 199.232.18.172:80 ESTABLISHED TCP 192.168.0.100:59682 134.33.185.96:443 TIME_WAIT TCP 192.168.0.100:59683 2.16.16.146:80 TIME_WAIT UDP 0.0.0.0:53 *:* UDP 0.0.0.0:53 *:* UDP 0.0.0.0:500 *:* UDP 0.0.0.0:4500 *:* UDP 0.0.0.0:5050 *:* UDP 0.0.0.0:5353 *:* UDP 0.0.0.0:5353 *:* UDP 0.0.0.0:5353 *:* UDP 0.0.0.0:5353 *:* UDP 0.0.0.0:5353 *:* ... ... ... ... ``` #### Linux/macOS ```shell $ss -tuln Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:* udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:* tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* tcp LISTEN 0 128 [::]:22 [::]:* ``` #### Windows ### 4. IPv4 i subnetiranje U ovom dijelu vježbe radimo s IPv4 adresama, maskama i subnetima. Cilj je razumjeti kako se iz IP adrese i maske dobiju mrežna adresa, broadcast i raspon hostova. --- #### 4.1 Pretvorba binarnog u dekadski zapis Pretvori sljedeću IPv4 adresu iz binarnog u dekadski zapis: ``` 10101100.00010000.00001010.00000101 ``` **Kako:** 1. Podijeli zapis na 4 okteta (8 bita svaki). 2. Pretvori svaki oktet u decimalni broj. 3. Zapiši adresu u obliku `a.b.c.d`. **Primjer:** 10101100 = 172 00010000 = 16 00001010 = 10 00000101 = 5 IPv4 adresa = **** --- #### 4.2 Pronalaženje mrežne i broadcast adrese Za zadanu adresu `10.0.5.42/24` izračunaj: - mrežnu adresu - broadcast adresu - raspon hostova - broj hostova u mreži **Kako:** 1. Napiši adresu i masku `/24` (255.255.255.0) u binarnom obliku. 2. Primijeni logičku operaciju **AND** između IP adrese i maske → mrežna adresa. 3. Broadcast dobiješ kada sve host bitove postaviš na `1`. 4. Raspon hostova su sve adrese između mrežne i broadcast adrese. 5. Broj hostova = `2^(broj host bitova) - 2`. **Primjer:** - IP: 10.0.5.42 = `00001010.00000000.00000101.00101010` - Maska: 255.255.255.0 = `11111111.11111111.11111111.00000000` - Mreža: `00001010.00000000.00000101.00000000` = **10.0.5.0** - Broadcast: `00001010.00000000.00000101.11111111` = **10.0.5.255** - Raspon hostova: **10.0.5.1 – 10.0.5.254** - Broj hostova: 254 --- #### 4.3 Subnetiranje mreže Podijeli mrežu `172.16.8.0/24` na **4 podmreže**. **Kako:** 1. `/24` = 256 adresa (254 hosta). 2. Treba 4 podmreže → nova maska `/26` (255.255.255.192). 3. Svaka podmreža ima 64 adrese (62 hosta). 4. Računaj mrežne adrese u koracima od 64. **Primjer:** - 1. podmreža: **172.16.8.0 – 172.16.8.63** (hostovi 172.16.8.1 – 172.16.8.62) - 2. podmreža: **172.16.8.64 – 172.16.8.127** (hostovi 172.16.8.65 – 172.16.8.126) - 3. podmreža: **172.16.8.128 – 172.16.8.191** (hostovi 172.16.8.129 – 172.16.8.190) - 4. podmreža: **172.16.8.192 – 172.16.8.255** (hostovi 172.16.8.193 – 172.16.8.254) --- #### 4.4 Binarni prikaz maske Prikaži masku `/24` u binarnom obliku i objasni koliko adresa daje. **Kako:** 1. `/24` znači da 24 bita pripada mrežnom dijelu, a 8 bitova host dijelu. 2. Zapiši binarno: 11111111.11111111.11111111.00000000 3. Broj host adresa = 2^8 = 256. 4. Oduzmi 2 (mrežna i broadcast). **Primjer:** - Ukupno adresa: 256 - Korisne za hostove: **254** --- #### 4.5 Privatne i javne adrese Provjeri sljedeće adrese i odredi jesu li privatne ili javne: - 172.20.5.10 - 8.8.8.8 - 192.168.100.25 **Kako:** 1. Usporedi adrese s rasponima privatnih mreža: - 10.0.0.0 – 10.255.255.255 (/8) - 172.16.0.0 – 172.31.255.255 (/12) - 192.168.0.0 – 192.168.255.255 (/16) 2. Ako se adresa nalazi unutar tih raspona → privatna. Ako ne → javna. **Primjer:** - 172.20.5.10 → privatna (u rasponu 172.16 – 172.31) - 8.8.8.8 → javna (Google DNS) - 192.168.100.25 → privatna (u rasponu 192.168.0.0 – 192.168.255.255) ### 5. IPv6 osnove i subnetiranje U ovom dijelu vježbe radiš s IPv6 adresama, njihovim tipovima i subnetima. Cilj je razumjeti osnovne vrste IPv6 adresa, zapis i način subnetiranja. --- #### 5.1 Struktura IPv6 adrese IPv6 adresa ima **128 bitova**, zapisana u **8 grupa po 16 bitova** (heksadecimalno). Primjer pune adrese: 2001:0db8:0000:0000:0000:0000:0000:0001 **Kako skratiti zapis:** 1. Ukloni vodeće nule u svakoj grupi. 2. Jedanput u adresi možeš zamijeniti uzastopne grupe nula s `::`. **Primjer:** 2001:0db8:0000:0000:0000:0000:0000:0001 = 2001:db8:0:0:0:0:0:1 = 2001:db8::1 --- #### 5.2 Vrste IPv6 adresa 1. **Link-local** — uvijek prisutne na svakom interfejsu (`fe80::/10`). - Koriste se za lokalnu komunikaciju u istom segmentu. - Primjer: `fe80::1a2b:3c4d:5e6f:7a8b%eth0` 2. **Global unicast** — javne IPv6 adrese (`2000::/3`). - Koriste se na Internetu. - Primjer: `2001:db8::1234` 3. **Multicast** — adrese za grupnu komunikaciju (`ff00::/8`). - Primjer: `ff02::1` (svi čvorovi na lokalnom linku). --- #### 5.3 Subnetiranje u IPv6 Subnetiranje funkcionira isto kao u IPv4, ali se koristi **CIDR zapis** (npr. `/32`, `/48`, `/64`). **Najčešći primjeri u praksi:** - `/32` → ISP dobiva veliki blok. - `/48` → organizaciji dodijeljen prostor. - `/64` → standardni subnet za jedan LAN segment. - `/128` → jedna jedina adresa (npr. za točno jedan uređaj). **Primjer:** 2001:db8:abbd:1233::/64 - Mreža: `2001:db8:abcd:1234::` - Host dio: zadnjih 64 bita (≈ 1.8 × 10^19 adresa). --- #### 5.4 Primjer vježbe s IPv6 adresom Zadano: IPv6 adresa: fe80::5abd:2efe:1a11:1a7c%16 1. Prepoznaj da počinje s `fe80::` → znači da je **link-local**. 2. `%16` označava **interface index** (na kojem interfejsu vrijedi ta adresa). 3. Pokušaj pingati ovu adresu (Linux/macOS): ```bash ping6 fe80::5abd:2efe:1a11:1a7c%eth0 ``` 4. Ako je uspješno, dobit ćeš odgovore s tog interfejsa. #### 5.5 Zašto /64? IPv6 autokonfiguracija (SLAAC) radi samo s maskom /64. Standard je da svaki LAN segment koristi /64. To znači da svaki subnet ima 2^64 adresa (praktički neiscrpno). Primjer: Mreža: 2001:db8:abbd:1233::/64 Prvi host: 2001:db8:abbd:1233::1 Drugi host: 2001:db8:abbd:1233::2 ...