Praxis TCP/IP Kursnotizen
- Live Script: https://netzwerke.kurs.planexzess.de
- Linuxhotel Lab-Server (Bewertung, Passwort ändern etc): https://lab.linuxhotel.de
- Wiki https://wiki.lab.linuxhotel.de/doku.php?id=tcp-ip:start
- Literaturliste
- IBM Redbook TCP/IP Tutorial and Technical Overview (teilweise veraltet)
http://www.redbooks.ibm.com/redbooks/pdfs/gg243376.pdf - TCP/IP Illustrated, Volume 1 2nd Edition - The Protocols
(2 Autoren, überladen, etwas unübersichtlich)
Kevin R. Fall (RIP), W. Richard Stevens
ISBN: 978-0-321-33631-6 - Computer-Netzwerke (deutsch)
Harald Zisler, Rheinwerk-Verlag
ISBN 978-3-8362-8948-1
- IBM Redbook TCP/IP Tutorial and Technical Overview (teilweise veraltet)
- Organisationen und Institutionen
- IEEE - Institute of Electrical and Electronics Engineers
- IETF - Internet Engineering Task Force
Mother of RfCs- https://www.ietf.org
- RfC-Suche: https://www.rfc-editor.org/search/rfc_search_detail.php
- RfCs “htmlized”: https://datatracker.ietf.org/
- ICANN - Internet Corporation for Assigned Names and Numbers
- https://www.icann.org/
- IANA - Internet Assigned Numbers Authority
Jon Postel war die IANA -> RfC 2468
1 Tag 1
Einführung
Praxis
1.1 Hardware. Kernel und L1/L2
- Kernel und Module
lspci | egrep -i Net lspci -s 00:19:0 -v lspci -s 00:19:0 -k lsmod modinfo e1000e
- Abgebildete Interfaces
ifconfig # bitte nicht mehr ip l # ip link show
- ethtool
ethtool enp0s25 # show link state and negotiation ethtool -p enp0s25 # watch the blinken lights ethtool -i enp0s25 # kernel modules and firmware ethtool -S enp0s25 # stats. too much information ethtool -S enp0s25 | egrep "fail|drop|coll|err"
- Adressen
ifconfig enp0s25 # bitte nicht mehr ip ad sh dev enp0s25 # ip addr show dev enp0s25 ip a # shows all ip addr show ip a --br --color # brief and color view ip -s ad sh dev eth0 # with statistics
- localhost Adressen auf dem loopback Device
ip ad sh dev lo
- arp
arp -n # numerisch arp -d <ip> # delete arp -s ... # set static ip -4 n # ip neigh show ip n f all # ip neigh flush all (auch arp)
- ping
ping 127.0.0.1 ping ::1 # loopback/localhost ping 192.168.1.222 # eigene Adressen ping 192.168.1.223 # lokaler Host im eigenen Netz ping 9.9.9.9 # remote Host
1.2 Übungen
- Löschen Sie Ihren
arp-cache - Suchen Sie sich einen Nachbarn Einer bleibt passiv, der andere pingt. Prüfen Sie beide den arp-cache
- Pingen Sie ein entfertes Ziel Prüfen Sie den arp-cache
- Wiederholen Sie das mit einem anderen Ziel Was passiert?
1.2.1 Lösung
arp -n # cache ip -4 neigh show # mit iproute2 ip -4 n # shortcut ip n f all # shortcut for flush all ping 192.168.1.222 # ping lokal ping 9.9.9.9 # ping remote ip -4 neigh show
- Im Arp befinden sich die MAC-Adressen der Teilnehmer.
- Für die externen Adressen finden wir die MAC Adresse des Gateways
1.3 Wireshark und tcpdump/dumpcap
1.4 Übung 1
- capture zwei pings (
ping -4). Leere vorher den neigbor cache. - Analysiere mit Hilfe der Display-Filter die Kommunikation
Tipp: arp, icmp- vor allem hinsichtlich Quellen und Zielen
- L2 vs. L3
1.4.1 Lösung
- bei externen Zielen unterscheiden sich die Quellen und Ziele auf L2 und L3
- L2: default gateway
- L3: end-to-end
1.5 Adressen
- RfC 1918
- Netzklassen, Netzmasken und CIDR
1.6 Routing
- Kernel Routing Tabelle
netstat -r # obsolet BSD route -n # obsolet IPv6 schlecht ip r
- Adresse setzen
ifconfig enp0s25 10.11.12.13 netmask 255.255.255.0 # keine gute Idee ifconfig enp0s25:0 10.11.12.13/24 # CIDR and alias ip addr add dev enp0s25 10.11.12.13/24 # besser ip addr add dev enp0s25 fd0a:b:affe::25/64 # IPv6 arp -n # kein arp mehr ip neig # aber neighbor
1.7 Übung 2
- capture mit wireshark ein traceroute. (ICMP basiert) (
traceroute -I)
(Wer sich langweilt, kann auchtracepathversuchen) - Analysiere mit Hilfe der Display-Filter die Kommunikation
Tipp: arp, icmp, dns - Was ist der Trick?
1.7.1 Lösung
- die TTL wird stufenweise erhöht
- dadurch erzeugen Router eine ICMP-Fehlermeldung
- damit “verraten” sie ihren Standort
- DNS vor und zurück zur Auflösung des Hostnamens
2 Tag 2
Praxis
2.1 Diagnose und Debugging
ping google.de ping -c 5 -s $((1500-28)) -M do google.de # mit DF (don't fragment) und MTU 1500 traceroute -I www.fm # ICMP traceroute tracepath www.fm mtr www.fm
2.2 Routing
- Komplexe Routing Upgebung aufgebaut
- Detaillierte Beschreibung Schritt für Schritt im Wiki
2.3 NAT und Masquerading
2.3.1 Übung
- VM1 Masqueraden
- Manuell
- Persistent als Systemdienst