Számítógépes Hálózatok GY 8.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu 1
Teszt canvas.elte.hu Kód: 2
Alapvető eszközök leginkább linux ping, traceroute [már volt korábban] ifconfig, ip, ipconfig, iwconfig host, nslookup, dig ssh tunnel netstat (ss) nmap nc (NetCat) tcpdump, wireshark iptables 3
Hálózati interfészek lekérdezése és konfigurálása ifconfig -a 4
Hálózati interfészek lekérdezése és konfigurálása ifconfig -a #interfészek lekérése ifconfig eth0 # eth0 interfész adatainak lekérése ifconfig eth0 192.168.2.2 netmask 255.255.255.0 # eth0 interfész felkonfigurálása ifconfig eth0 up #eth0 if engedélyezése ifconfig eth0 down # eth0 if tiltása ifconfig eth0 - promisc # eth0 promiscuous módba léptetése (minden csomagot fogad, nem csak azt, ami az ő MAC címére érkezett) 5
ip és Windows alatt az ipconfig is hasonló ip addr 6
Domain nevek feloldása, stb. host parancs 7
Domain nevek feloldása, stb. dig parancs 8
Domain nevek feloldása, stb. dig parancs MX rekord mail exchange szerverek 9
Domain nevek feloldása, stb. dig parancs NS rekord auth név szerverek 10
Domain nevek feloldása, stb. nslookup parancs 11
SSH tunnel Linux: ssh -L localhost:9001:intra-site.com:80 gw.example.com Windows: putty -> settings 12
SSH tunnel - Remote forwarding Linux: ssh -R 8080:localhost:80 gw.example.com A távoli szerver 8080-as portjára érkező tcp kéréseket visszairányítja a helyi gép 80-as portjára. 13
netstat milyen processzek használnak hálózatot? # aktív socketet használó processzek netstat -np 14
netstat milyen processzek használnak hálózatot? # futó szerver socketek és a processzek netstat -nlp # csak tcp -t, csak udp -u kapcsolók 15
nmap security scanner Pl. nyitott vagy szűrt portok megtalálásához. Néhány hasznos argumentum: -O Operációs rendszer detektálása -p Szkennelendő port tartomány (pl. -p22-123) -sp IP subnet pingetése (pl. 192.168.0.0/24) csak óvatosan!!! 16
nmap port szkennelés & OS fingerprinting 17
nmap ip tartomány pingetése root@gonzo:~# nmap -sp 10.1.10.0/24 Starting Nmap 5.00 ( http://nmap.org ) at 2016-02-17 06:35 EST Host 10.1.10.1 is up (0.011s latency). MAC Address: C4:04:12:BE:5A:1C (Unknown) Host 10.1.10.10 is up (0.00049s latency). MAC Address: C8:B4:71:21:11:37 (Unknown) Host 10.1.10.11 is up (0.000091s latency). MAC Address: C8:D2:11:10:E4:FD (Unknown) Host 10.1.10.12 is up (0.00052s latency). MAC Address: B8:27:EB:05:11:27 (Unknown)... Nmap done: 256 IP addresses (13 hosts up) scanned in 2.47 seconds root@gonzo:~# 18
NC-NetCat (SoCat), avagy hálózati svájcibicska # szerver imitálása nc -l -p 1234 # kliens imitálása nc destination_host 1234 # fájltranszfer tömörítve tar cfp - /some/dir compress -c nc -w 3 othermachine 1234 NetCat TUTORIAL: https://www.binarytides.com/netcat-tutorial-for-beginners/ SoCat TUTORIAL: https://blog.rootshell.be/2010/10/31/socat-another-network-swissarmy-knife/ 19
Hálózati forgalom felvétele/elemzése tcpdump 20
Hálózati forgalom felvétele/elemzése Tcpdump protokoll filter 21
Hálózati forgalom felvétele/elemzése Tcpdump további filterek 22
Hálózati forgalom felvétele/elemzése Tcpdump további filterek 23
Hálózati forgalom felvétele/elemzése Tcpdump mentés pcap fájlba és fájlból elemzés Pcap fájl visszajátszására is van lehetőség: tcpreplay 24
Wireshark Forgalomelemző eszköz: korábban rögzített adatok elemzésére szolgál Windows-on és Linux-on is elérhető www.wireshark.org Számítógépes Hálózatok Gyakorlat 8. 25
Wireshark ablakok Számítógépes Hálózatok Gyakorlat 8. 26
Wireshark szűrők Operátorok: or, and, xor, not protokollok: ip, tcp, http (teljes listát lásd Expression gomb) Példa: tcp.flags.ack==1 and tcp.dstport==80 (tcp nyugta flag és fogadó port beállítva) Számítógépes Hálózatok Gyakorlat 8. 27
Wireshark példa A http_out.pcapng állomány felhasználásával válaszoljuk meg az alábbi kérdéseket: 1. Milyen oldalakat kértek le a szűrés alapján HTTP GET metódussal? Milyen böngészőt használtak hozzá? 2. Hány darab képet érintett a böngészés? 3. Volt-e olyan kérés, amely titkosított kommunikációt takar? Számítógépes Hálózatok Gyakorlat 8. 28
Wireshark példa megoldás I. Számítógépes Hálózatok Gyakorlat 8. 29
Wireshark példa megoldás I. Milyen oldalakat kértek le a szűrés alapján HTTP GET metódussal? Milyen böngészőt használtak hozzá? Szűrés: http.request.method=="get" User-agent header-ből lehet következtetni a böngésző típusára: User- Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36 Ehhez segítségünkre lehet ez a link: http://www.zytrax.com/tech/web/browser_ids.htm Számítógépes Hálózatok Gyakorlat 8. 30
Wireshark példa megoldás II. Számítógépes Hálózatok Gyakorlat 8. 31
Wireshark példa megoldás II. Hány darab képet érintett a böngészés? Szűrés: http.accept == "image/webp,*/*;q=0.8" Accept header: a kérésre adott válasz tartalmának elfogadható típusa WebP: új, veszteséges tömörítést alkalmazó képformátum, amelyet a Google fejlesztett ki a web hálózati forgalmának csökkentésére Számítógépes Hálózatok Gyakorlat 8. 32
Wireshark példa megoldás III. Számítógépes Hálózatok Gyakorlat 8. 33
Wireshark példa megoldás III. Volt-e olyan kérés, amely titkosított kommunikációt takar? Szűrés: tcp.dstport==443 Transport Layer Security (TLS) titkosító protokoll feletti HTTP kommunikációra utal a 443-as port Elektronikus levelezéshez, banki szolgáltatásokhoz stb. elengedhetetlen Nélküle le lehet hallgatni a kommunikációt, lásd a következő diát (sample3.pcapng felhasználásával) Számítógépes Hálózatok Gyakorlat 8. 34
Wireshark leleplezés Számítógépes Hálózatok Gyakorlat 8. 35
iptables ízelítő csomagszűrő szolgáltatás Sok feladatra használható tűzfal, load balancer, NAT, port forwarding Bizonyos esetekben szükséges lehet: sudo sysctl -w net.ipv4.ip_forward=1 80-as port továbbítása egy belső webszervernek: sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 172.31.0.23:80 Gateway esetén NATolás minden az eth1-en kimenő csomag forrás címét lecseréli a helyi ip-re (ált. a port is változik), visszafelé is megcsinálja a leképezést: sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 36
Vége Köszönöm a figyelmet! 37