Nie wymagam dokładnej znajomości składni funkcji.
Wymagam znajomość nazw funkcji i umiejętność znalezienia opisu składni.
Do zajęć konieczna jest znajomość programowania strukturalnego i obiektowego w C++.
Laboratoria 2 (10/11/15.10)
znać funkcje (nazwy, jakie informacje są przekazywane w argumentach, co oznaczają używane przez nie stałe) do:
znać strukturę pozwalającą na zapis adresu gniazda
wiedzieć że kolejność bajtów we wiadomościach musi być z góry ustalona
kojarzyć funkcje pozwalające na wpisanie adresu IP i portu
Laboratoria 4 (24/25/29.10)
znać wymienione niżej funkcje API gniazd, to znaczy wiedzieć:
jak nazywa się funkcja która wykonuje konkretne działanie
jakich informacji potrzebuje (nie trzeba znać kolejności, nazw, ani dokładnych typów argumentów)
co każda z tych funkcji zwraca (nie chodzi o typ, bo wszystkie zwracają typ int
– trzeba wiedzieć co oznacza jego wartość)
lista funkcji
wiedzieć co oznaczają stałe które występują w tych funkcjach:
AF_INET, AF_INET6, SOCK_STREAM, SOCK_DGRAM, IPPROTO_TCP, IPPROTO_UDP, INADDR_ANY, INADDR_LOOPBACK, SOMAXCONN, SHUT_RDWR, SO_REUSEADDR
wiedzieć w jakiej kolejności można wywoływać w/w funkcje
wiedzieć jakie funkcje i w jakiej kolejności należy użyć, aby stworzyć:
klienta TCP
serwer TCP
klienta UDP
serwer UDP
Laboratoria 5 (5/7/8.11)
tryb blokujący / nieblokujący:
jakie są różnice między trybami
co jeśli funkcja która nie może natychmiast się wykonać jest wywołana w trybie nieblokującym
które funkcje z interfejsu gniazd mogą się zablokować, które są zawsze nieblokujące
należy umieć podać w jakich sytuacjach i na jak długo konkretna funkcja z interfejsu gniazd może się zablokować
wysyłanie/odbieranie danych w trybie (nie)blokującym:
jakie gwarancje mają funkcje wysyłające dane w trybie blokującym
jakie wartości mogą zwrócić funkcje wysyłające dane do sieci (w każdym z trybów)
jakie wartości mogą zwrócić funkcje odbierające dane z sieci (w każdym z trybów)
na czym polega protokół strumieniowy i zorientowany na wiadomość (datagramowy),
szczególnie w jakich porcjach mogą być odbierane dane w TCP i UDP
czym może skutkować brak kontroli przepływu
czym może skutkować brak uporządkowania i potwierdzania odebrania danych
znać praktyczne różnice między protokołami TCP i UDP
jakie gwarancje zapewnia programiście TCP
co w TCP programista musi sam zaimplementować
jakie gwarancje zapewnia programiście UDP
co w UDP programista musi sam zaimplementować
Laboratoria 7 (19/21/22.11)
Wejściówka obejmuje temat z wykładu.
(Zagadnienia z pierwszej grupy powinny być częścią wiedzy ogólnoinformatycznej, stąd na wykładzie te pojęcia mogą się pojawić bez definicji.)
czy serwer zwykle ma swój certyfikat
czy klient zwykle ma swój certyfikat
po co serwerowi certyfikat
skąd bierze się klucz używany do szyfrowania
jaka jest różnica między TLS i DTLS
na jakiej warstwie działa TLS
jakie gwarancje daje programiście połączenie TLS tzn. jest strumieniowy czy datagramowy, połączeniowy czy bezpołączeniowy, zapewnia kontrolę przepływu czy nie, czy pozwala na gubienie danych, duplikację, zmianę kolejności
czym jest i do czego służy struktura ("obiekt") SSL_CTX
czym jest i do czego służy struktura ("obiekt") SSL
jakie wartości w zwracane przez funkcje SSL_set_fd/SSL_connect/…_accept/…_read/…_write/…
oznaczają powodzenie, jakie oznaczają inny rezultat
Laboratoria 10 (na zajęciach z odpytywania DNS; 10/12/13.12)
Wejściówka obejmuje temat z wykładu.
co to jest nazwa domenowa, co oznacza skrót FQDN
na czym polega hierarchia w systemie nazw domenowych
co to jest korzeń (root zone)
co to jest TLD
jakie są rodzaje TLD – krajowe, funkcjonalne, sponsorowane, …
z każdego z w/w rodzaju należy znać po 3 przykłady TLD
jakie są rodzaje serwerów, do czego służą i czym się różnią:
co to jest resolver
rodzaje rekordów zasobowych: A, AAAA, NS, CNAME, MX, TXT, …
do czego służą
co zawierają
na czym polegają zapytania rekurencyjne i iteracyjne
Laboratoria 11 (na zajęciach z konfiguracji DNS; 17/19/20.12)
znać komendy odpytujące:
wiedzieć co oznacza treść (i składnia) wartości rekordów NS, CNAME, A, AAAA i MX
umieć odczytać wyniki komendy dig …
lub host -v …
Laboratoria 12 (na zajęciach z HTTP; 7/9/10.12)
Wejściówka obejmuje temat z wykładu.
co to jest HTTP i URL
wersje protokołu HTTP:
jakie są/były używane
które używają protokołu tekstowego a które binarnego
które używają TCP a które UDP, jakie są domyślne porty dla HTTP i HTTPS
która obowiązkowo wymaga szyfrowania
z jakich części składa się URL dla HTTP i te części oznaczają:
schemat, host, port, ścieżka, zapytania (
searchpart aka
query)
co to jest percent-encoding (urlencoding), do czego jest używane w linii żądania, w treści jakich żądań jest powszechnie używane
jak jest zbudowane żądanie HTTP/1.x
co to jest linia żądania, z czego się składa
jakie metody HTTP są wykorzystywane przez przeglądarki
co to są nagłówki, jak oddziela się nazwę od wartości
jak oddziela się nagłówki od siebie, jak oddziela się nagłówki od treści żądania
do czego służy nagłówek Host i na jaką wartość trzeba go ustawić
jak wygląda odpowiedź HTTP/1.x
co to jest linia statusu, z czego się składa
co oznaczają kody należące do grup: 2xx, 3xx, 4xx i 5xx
należy też umieć napisać treść żądania HTTP/1.x która pobierze wskazany URL bądź odtworzyć URL z treści żądania
——— 2023 ———
Laboratoria 10 (na 1 zajęciach z WLAN, 7/8/12.12)
Do pierwszych laboratoriów o sieciach bezprzewodowych proszę przypomnieć sobie zagadnienia:
model warstwowy ISO/OSI oraz TCP/IP
co to jest, jakie ma warstwy
jakie zadania mają warstwy: fizyczna, łącza danych, sieci
adresacja IPv4 - teoria
co to jest adres sieci
co to jest maska sieci i jak można ją zapisać
jak wyliczyć które adresy IP należą do sieci
jak podzielono pulę adresów
trasowanie (routing) – teoria (co to jest, po co to jest, jak czytać tabelę tras, jak są podejmowane decyzje którędy idzie pakiet)
ethernet
jak wygląda adresowanie urządzeń w ethernecie
kiedy urządzenie może zacząć wysyłać dane
co się dzieje jeśli dwa urządzenia zaczną nadawać dane naraz
urządzenia sieciowe
przełącznik (switch)
działa na warstwie łącza danych (2; adresy MAC; komunikacja między "bezpośrednio" połączonymi urządzeniami)
rozgranicza domeny kolizyjne, ale nie rozgłoszeniowe (przypomnieć sobie definicje)
ma wiele portów
nie ma adresu IP (chyba że dodatkowo, poza byciem przełącznikiem, jest też czymś jeszcze – np. zdalną konsolą do zarządzania przełącznikiem)
nie ma adresu MAC (chyba że… [jak wyżej])
jest "niewidzialny" dla urządzeń do niego podłączonych
trasownik (router)
działa na warstwie sieci (3; adresy IP; komunikacja między dowolnymi urządzeniami w sieci)
rozgranicza domeny rozgłoszeniowe
stoi pomiędzy różnymi sieciami IP
ma wiele interfejsów sieciowych
wykonuje trasowanie (routing)
narzędzia sieciowe w Linuksie
wyświetlanie dostępnych interfejsów sieciowych
włączanie / wyłączanie interfejsu
sprawdzanie czy jest łączność na warstwie fizycznej
wyświetlanie (wszystkich) ustawionych adresów IP
ustawianie / usuwanie adresu IP
dodawanie drugiego adresu IP do interfejsu
wyświetlanie tabeli tras
dodawanie tras do tabeli
włączanie / wyłączanie IP forwarding
Na wejściówce mogą pojawić się pytania z:
modelu warstwowego – za co która warstwa odpowiada
adresu MAC – do czego służy, skąd się zwykle bierze, jak wygląda (zapis)
adresacji IP:
do czego służy adres IP, skąd się zwykle bierze, jak wygląda (zapis)
zakresy publicznych i rozgłoszeniowych IP, bloki adresów prywatnych
jakie IP należą do podanej sieci
narzędzi sieciowych w Linuksie:
wyświetlanie, włączanie, wyłączanie interfejsów
wyświetlanie adresów MAC
wyświetlanie, dodawanie, zmiana, usuwanie adresów IP
sprawdzanie łączności IP, sprawdzanie trasy do podanego IP
wyświetlanie, dodawanie tras
trasowania – kiedy jest wykonywane, jak działa
Laboratoria 12 (na zajęciach z DNS; 21.12 / 8/9.1)
Na wejściówce będą pytania sprawdzające znajomość treści przedstawionych na wykładzie z DNS (link do slajdów):
co to jest nazwa domenowa, co oznacza skrót FQDN
na czym polega hierarchia w systemie nazw domenowych
co to jest korzeń (root zone)
co to jest TLD
jakie są rodzaje TLD – krajowe, funkcjonalne, sponsorowane, …
z każdego z w/w rodzaju należy znać po 3 przykłady TLD
jakie są rodzaje serwerów, do czego służą i czym się różnią:
co to jest resolver
rodzaje rekordów zasobowych: A, AAAA, NS, CNAME, MX, TXT, …
do czego służą
co zawierają
Laboratoria 13 (na zajęciach z IPv6; 11/12/16.01)
Co to jest adres MAC, ile na bitów, skąd się bierze?
Na jakiej warstwie ISO/OSI działa protokół IP?
Jakie zadania pełni protokół IP?
Na czym polega fragmentacja w IP?
Skąd wiadomo jaki protokół warstwy wyższej jest w danym pakiecie IP?
Adres IPv4:
Ile bitów ma adres?
Jakie zakresy adresów mają bloki prywatne?
Które adresy są multicastowe?
Jaki jest adres localhosta, jaki adres reprezentuje dowolny adres?
Jak jest określany adres MAC urządzenia o znanym adresie IP?
Jaki protokół jest używany do automatycznego nadawania adresów IP? Jak wygląda przydzielanie adresu IP?
Do czego wykorzystywany jest protokół ICMP?
Do czego wykorzystywany jest NAT i dlaczego jest potrzebny?
——— 2022 ———
Laboratoria 10 (13/14.12)
Zagadnienia na wejściówkę:
Laboratoria 11 (20/21.12)
Znać różnice między WEP, WPA/WPA2-PSK, WPA3-SAE, WPA/WPA2/WPA3-EAP oraz WPA-Personal, WPA-Enterprise
czym różni się uwierzytelnianie i które urządzenie je wykonuje
czym różni się szyfrowanie, jakie są używane sposoby szyfrowania, kto może odszyfrować dane
które rozwiązania są uważane za bezpieczne, w których bezpieczeństwo zależy od konfiguracji (np. zastosowanych metod, siły haseł)
Kojarzyć do czego służy protokół EAP i RADIUS w WPA-Enterprise
Kojarzyć od czego zależy metoda uwierzytelniania w WPA-Enterprise
Kojarzyć jaka jest rola WPS i znać przykłady metod WPS
Wiedzieć jakie programy pozwalają łączyć się do sieci bez zabezpieczeń i z zabezpieczeniami WPA/WPA2/WPA3
——— 2021 ———
Laboratoria 5 (1 zajęcia z programowania, 9/4.11)
Uwaga: Wejściówka obejmuje przypomnienie z przedmiotów programowanie niskopoziomowe, programowanie obiektowe i programowanie systemowe i współbieżne:
jakim poleceniem (w konsoli) można skompilować program w języku C/C+
+
podstawy języka C/C+
+, w szczególności:
co to jest struktura i unia
czym jest wskaźnik, jak dostać się do wskazywanych danch, jak dostać wskaźnik na wybrane dane
na czym polega rzutowanie, jak je wykonać
jak w programie w języku C/C+
+:
dostać się do argumentów programu
zaalokować statycznie i dynamicznie pamięć, zwolnić zajętą wcześniej pamięć
interfejs POSIX:
co to jest deskryptor pliku
jaką funkcją otwiera się zwykły plik w POSIX, jakie argumenty przyjmuje ta funkcja, jakie wyniki zwraca
czym są potoki, jak mogą być wykorzystane do komunikacji międzyprocesowej
jaką funkcją zamyka się plik w POSIX
jaka funkcja czyta dane z deskryptora pliku, jakie argument przyjmuje i jaki zwraca wynik
jaka funkcja zapisuje dane do wskazanego deskryptora pliku, jakie argument przyjmuje i jaki zwraca wynik
jakie numery mają deskryptory standardowego wejścia, wyjścia i błędu, do czego służą
——— 2019 ———
Laboratoria N+5 (na zajęciach z kształtowania ruchu, 13/14.1)
——— 2016 ———
Laboratoria N+4/5 (WLAN – infrastruktura)
Na wejściówce obowiązują zagadnienia z poprzedniej wejściówki oraz:
rozumieć jaką rolę pełni AP w sieci WLAN i na jakiej warstwie działa
umieć określić jak zachowa się AP podłączony do innych urządzeń sieciowych
pamiętać jak STA odróżnia dwa różne AP z tej samej sieci
rozumieć kiedy następuje uwierzytelnianie i od kiedy wiadomości są szyfrowane
kojarzyć co określają standardy WEP, WPA i WPA2, umieć określić jaki poziom bezpieczeństwa zapewniają
znać dwa tryby WPA (PSK i EAP), wiedzieć czym się różnią
kojarzyć jak działa WPA-EAP (Enterprise) – infrastruktura z serwerem uwierzytelniającym oraz bogaty wybór metody uwierzytelniania