20TD02U_ForAlle_Blooms_Side_49_Nettverk - itnett/FTD02H-N GitHub Wiki
For å implementere en fullstendig tilnærming basert på Blooms taksonomi for temaene Nettverk 1 og Nettverk 2 (inkludert nettverkssikkerhet), både programmatiske, logiske, og praktiske tilnærminger, kan vi strukturere læringen på følgende måte:
Tema: Nettverk 1
1. LAN/WAN Teknologi
Nivå 1: Kunnskap (Remembering)
- Logisk tilnærming: Lær grunnleggende forskjeller mellom LAN (Local Area Network) og WAN (Wide Area Network).
- Programmatisk tilnærming: Lag et Python-skript som simulerer overføring av data mellom to noder i et LAN og et WAN.
- Praktisk tilnærming: Sett opp et virtuelt nettverk ved hjelp av GNS3 eller Cisco Packet Tracer for å visualisere forskjellene mellom LAN og WAN-konfigurasjoner.
class Node:
def __init__(self, name):
self.name = name
self.data_received = []
def send_data(self, data, target_node):
target_node.data_received.append(data)
# Simulerer LAN og WAN kommunikasjon
lan_node1 = Node("LAN_Node1")
lan_node2 = Node("LAN_Node2")
wan_node1 = Node("WAN_Node1")
wan_node2 = Node("WAN_Node2")
lan_node1.send_data("LAN Data", lan_node2)
wan_node1.send_data("WAN Data", wan_node2)
print(f"LAN_Node2 mottatt: {lan_node2.data_received}")
print(f"WAN_Node2 mottatt: {wan_node2.data_received}")
Nivå 2: Forståelse (Understanding)
- Logisk tilnærming: Forstå hvordan LAN og WAN påvirker nettverksytelsen og sikkerheten.
- Programmatisk tilnærming: Lag et script som sammenligner latency og throughput for LAN og WAN ved hjelp av ping-kommandoen.
- Praktisk tilnærming: Utfør en praktisk test ved å måle ping-tider mellom enheter i et lokalt nettverk (LAN) og en fjernserver (WAN).
2. Nettverkstopologier
Nivå 1: Kunnskap (Remembering)
- Logisk tilnærming: Lær de forskjellige typene nettverkstopologier som stjernetopologi, bustopologi, og ringtopologi.
- Programmatisk tilnærming: Visualiser forskjellige nettverkstopologier ved hjelp av en graftegningsbibliotek som
networkx
i Python. - Praktisk tilnærming: Bruk Cisco Packet Tracer for å bygge og sammenligne forskjellige topologier.
import networkx as nx
import matplotlib.pyplot as plt
# Simulerer en stjernetopologi
star_topology = nx.Graph()
star_topology.add_edges_from([("Switch", "PC1"), ("Switch", "PC2"), ("Switch", "PC3")])
nx.draw(star_topology, with_labels=True, node_size=3000, node_color='skyblue')
plt.show()
Nivå 2: Forståelse (Understanding)
- Logisk tilnærming: Forstå fordelene og ulempene med hver topologi.
- Programmatisk tilnærming: Simuler nettverkstrafikk i forskjellige topologier og mål ytelsen (f.eks. flaskehalser) ved bruk av
SimPy
-biblioteket. - Praktisk tilnærming: Implementer og test flere topologier i en virtuell lab og mål ytelsen ved hjelp av nettverksverktøy som
iperf
.
3. OSI-modellen
Nivå 1: Kunnskap (Remembering)
- Logisk tilnærming: Lær de 7 lagene i OSI-modellen og deres funksjoner.
- Programmatisk tilnærming: Lag et Python-skript som simulerer dataoverføring gjennom OSI-lagene.
- Praktisk tilnærming: Analyser nettverkspakker ved bruk av
Wireshark
for å forstå hvordan data håndteres på forskjellige OSI-lag.
class OSIModel:
def __init__(self):
self.layers = ["Physical", "Data Link", "Network", "Transport", "Session", "Presentation", "Application"]
def transmit(self, data):
print("Transmitting through OSI layers...")
for layer in reversed(self.layers):
data = f"{layer} Layer encapsulates data: {data}"
print(data)
return data
osi_model = OSIModel()
osi_model.transmit("Hello, World!")
Nivå 2: Forståelse (Understanding)
- Logisk tilnærming: Forstå hvordan OSI-lagene samarbeider for å sikre pålitelig kommunikasjon.
- Programmatisk tilnærming: Implementer en enkel modell av TCP (Transportlaget) og simuler pålitelig dataoverføring.
- Praktisk tilnærming: Bruk
Wireshark
for å fange og analysere hvordan TCP-håndtrykk (3-way handshake) fungerer i praksis.
4. IPv4 og IPv6
Nivå 1: Kunnskap (Remembering)
- Logisk tilnærming: Lær de grunnleggende forskjellene mellom IPv4 og IPv6, inkludert adresseformat og antall tilgjengelige adresser.
- Programmatisk tilnærming: Lag en enkel kalkulator for IPv4-subnetting.
- Praktisk tilnærming: Konfigurer IPv6 på et nettverksgrensesnitt og bekreft konfigurasjonen med
ping
ogipconfig
/ifconfig
.
import ipaddress
def calculate_subnets(ip, subnet_mask):
network = ipaddress.IPv4Network(f"{ip}/{subnet_mask}", strict=False)
return list(network.subnets())
subnets = calculate_subnets("192.168.1.0", 24)
for subnet in subnets:
print(f"Subnet: {subnet}")
Nivå 2: Forståelse (Understanding)
- Logisk tilnærming: Forstå hvorfor IPv6 er nødvendig og hvordan det løser problemene med IPv4.
- Programmatisk tilnærming: Lag et script for å simulere IPv6-autokonfigurering i et nettverk.
- Praktisk tilnærming: Konfigurer et nettverk med både IPv4 og IPv6 (dual-stack) og test konnektivitet ved bruk av
ping
ogtraceroute
.
5. Nettverksprotokoller
Nivå 1: Kunnskap (Remembering)
- Logisk tilnærming: Lær om vanlige nettverksprotokoller som TCP, UDP, HTTP, HTTPS, DNS, DHCP, etc.
- Programmatisk tilnærming: Lag et Python-skript for å simulere en enkel UDP-kommunikasjon mellom to enheter.
- Praktisk tilnærming: Bruk
nc
(Netcat) for å sette opp en enkel TCP/UDP-server og klient for å teste kommunikasjon.
import socket
# UDP server
def udp_server():
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.bind(("localhost", 12000))
print("UDP server up and listening...")
while True:
message, address = server_socket.recvfrom(1024)
print(f"Received message: {message} from {address}")
server_socket.sendto(b"Hello, Client", address)
# UDP client
def udp_client():
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client_socket.sendto(b"Hello, Server", ("localhost", 12000))
message, address = client_socket.recvfrom(1024)
print(f"Received message: {message} from {address}")
# To run the server or client, uncomment the appropriate function call:
# udp_server()
# udp_client()
Nivå 2: Forståelse (Understanding)
- Logisk tilnærming: Forstå hvordan ulike protokoller fungerer på forskjellige OSI-lag.
- Programmatisk tilnærming: Lag en enkel DNS-klient som forespør en DNS-server om IP-adressen til et domene.
- Praktisk tilnærming: Konfigurer og test en DNS-server ved bruk av
Bind9
på Linux.
6. Trådløs Teknologi
Nivå 1: Kunnskap (Remembering)
- Logisk tilnærming: Lær om trådløse nettverksteknologier som Wi-Fi, Bluetooth, og Zigbee.
- Programmatisk tilnærming: Lag et Python-skript som scanner etter tilgjengelige Wi-Fi-nettverk ved bruk av
scapy
. - Praktisk tilnærming: Bruk
Kismet
ellerAircrack-ng
for å utføre en Wi-Fi-nettverksscan og analysere resultatene.
from scapy.all import *
def wifi_scan():
def packet_handler(pkt):
if pkt.haslayer(Dot11Beacon):
ssid = pkt[
Dot11Elt].info.decode()
bssid = pkt[Dot11].addr2
print(f"SSID: {ssid}, BSSID: {bssid}")
sniff(iface="wlan0", prn=packet_handler, count=10)
wifi_scan()
Nivå 2: Forståelse (Understanding)
- Logisk tilnærming: Forstå hvordan trådløse nettverk sikres ved bruk av WPA/WPA2/WPA3.
- Programmatisk tilnærming: Lag et script som simulerer et trådløst nettverk med WPA2-sikkerhet ved bruk av
hostapd
. - Praktisk tilnærming: Konfigurer en trådløs tilgangspunkt på en Raspberry Pi ved bruk av
hostapd
og test sikkerheten.
Tema: Nettverk 2 og Nettverkssikkerhet
1. Nettverkssikkerhet
Nivå 1: Kunnskap (Remembering)
- Logisk tilnærming: Lær grunnleggende sikkerhetsrutiner, ACLs, og VPN-konfigurasjon.
- Programmatisk tilnærming: Lag et Python-skript for å generere ACL-regler basert på spesifikke sikkerhetskrav.
- Praktisk tilnærming: Implementer en enkel VPN-konfigurasjon ved bruk av
OpenVPN
.
def generate_acl(source_ip, dest_ip, action="permit"):
acl_rule = f"access-list 101 {action} ip {source_ip} {dest_ip}"
return acl_rule
print(generate_acl("192.168.1.0", "10.0.0.0", "deny"))
Nivå 2: Forståelse (Understanding)
- Logisk tilnærming: Forstå hvordan trusler som DDoS, Man-in-the-Middle (MITM), og SQL Injection kan utnytte nettverkssårbarheter.
- Programmatisk tilnærming: Simuler et enkelt DDoS-angrep i et kontrollert miljø ved bruk av
hping3
. - Praktisk tilnærming: Bruk
Wireshark
for å oppdage og analysere MITM-angrep i nettverket.
2. Routing Protokoller og VLAN
Nivå 1: Kunnskap (Remembering)
- Logisk tilnærming: Lær om dynamiske routingprotokoller som OSPF og BGP, og hvordan VLAN skiller trafikk i nettverk.
- Programmatisk tilnærming: Simuler en enkel OSPF-konfigurasjon ved bruk av
Cisco Packet Tracer
. - Praktisk tilnærming: Implementer VLAN på en switch og test konfigurasjonen.
Nivå 2: Forståelse (Understanding)
- Logisk tilnærming: Forstå hvordan routing og VLAN påvirker nettverksytelse og sikkerhet.
- Programmatisk tilnærming: Lag et Python-skript for å automatisk konfigurere VLAN på flere switcher.
- Praktisk tilnærming: Test og verifiser routingprotokollens ytelse i et simulert nettverk ved bruk av
GNS3
.
3. Verktøy for Penetrasjonstesting
Nivå 1: Kunnskap (Remembering)
- Logisk tilnærming: Lær om verktøy som
Nmap
,Metasploit
, ogNikto
for penetrasjonstesting. - Programmatisk tilnærming: Automatiser skanning av nettverkssårbarheter ved bruk av
Nmap
-skripting. - Praktisk tilnærming: Utfør en penetrasjonstest ved hjelp av
Metasploit
og analyser resultatene.
nmap -sP 192.168.1.0/24
Nivå 2: Forståelse (Understanding)
- Logisk tilnærming: Forstå hvordan penetrasjonstesting kan brukes til å identifisere og fikse sårbarheter før de utnyttes av angripere.
- Programmatisk tilnærming: Lag en rapport som oppsummerer funnene fra penetrasjonstesten og gir anbefalinger for tiltak.
- Praktisk tilnærming: Implementer og test sikkerhetstiltakene som foreslås i rapporten.
Konklusjon
Denne omfattende tilnærmingen til Nettverk 1 og Nettverk 2, inkludert nettverkssikkerhet, dekker alle nivåer i Blooms taksonomi, fra grunnleggende kunnskap til avansert syntese og evaluering. Ved å bruke en kombinasjon av programmatiske, logiske, og praktiske tilnærminger, vil studentene utvikle en dyp forståelse og praktiske ferdigheter innen nettverksdesign, implementering, feilsøking, og sikkerhet.
Denne veiledningen er designet for IT-studenter, nettverksadministratorer og sikkerhetsfagfolk som ønsker en grundig forståelse og praktisk tilnærming til nettverksadministrasjon og sikkerhet.