This is an old revision of the document!
Table of Contents
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:
- tworzenia gniazda
- łączenia gniazda
- czytania/wysłania danych z/do gniazda
- zamykania połączenia sieciowego i zamykania gniazda
- 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
- ogólne:
- tworzenie gniazda
- ustalanie lokalnego adresu
- zamykanie gniazda
- połączeniowe (i pseudopołączeniowe):
- łączenie do wybranego adresu
- oczekiwanie na nowe połączenia
- przyjęcie nowego połączenia
- wysyłanie danych
- odbiór danych
- zakończenie połączenia
- bezpołączeniowe:
- wysłanie danych
- odbiór danych
- odpytywanie o nazwy domenowe:
- do odwzorowywania nazw domenowych na adresy IP
- do odwzorowywania adresów IP na nazwy domenowe
- 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.)
- co to jest: (należy umieć podać krótkie definicje lub dopasować nazwę do definicji)
- uwierzytelnianie, autoryzacja, szyfrowanie
- kryptografia symetryczna, kryptografia asymetryczna
- klucz publiczny, klucz prywatny
- man-in-the-middle attack
- urząd certyfikacji (certificate authority), certyfikat
- standard X.509, format PEM
- 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
- jak nazywają się przykładowe biblioteki implementujące TLS
- 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ą:
- root server, authoritative, non-authoritative (caching)
- 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:
- podany serwer nazw
- o wskazane rodzaje rekordów
- o odwzorowanie odwrotne (o nazwę domenową odpowiadającą wskazanemu IP)
- wiedzieć co oznacza treść (i składnia) wartości rekordów NS, CNAME, A, AAAA i MX
- umieć odczytać wyniki komendy
dig …lubhost -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
- każdy interfejs może mieć (dowolnie dużo) adresów IP
- adresy IP na różnych interfejsach muszą być z innych sieci
- 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ą:
- root server, authoritative, caching (non-authoritative)
- master, slave
- 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ę:
- znać rodzaje sieci IBSS (ad-hoc), BSS i ESS
- z czego się składają
- czym się od siebie różnią
- rozróżniać identyfikatory ESSID (SSID) i BSSID
- jak się je zapisuje
- kto je nadaje / jak są tworzone
- znać komendy do:
- wyświetlania informacji o bezprzewodowych kartach sieciowych
- listowania interfejsów bezprzewodowych (jakie są dostępne, w jakich trybach pracują)
- wyświetlania stanu połączenia bezprzewodowego (czy jest połączenie, do jakiej sieci, na jakim kanale/częstotliwości)
- skanowania (wyświetlania listy) dostępnych sieci
- zmiany trybu pracy interfejsu bezprzewodowego
- [SK1] Podstawy obsługi sprzętu CISCO (cisco_wstep):
- kojarzyć jak i z jakich programów korzysta się do komunikacji po porcie szeregowym pod Linuksem
- kojarzyć tryby działania w IOS i przechodzenie między nimi (
enable,configure terminal, …) - umieć wyświetlić pomoc kontekstową (
?) i korzystać z autouzupełniania (tab) - przypomnieć sobie jak wyglądały nazwy interfejsów
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)
- Iptables:
- Kiedy wykonywane są łańcuchy input, forward i output z tabeli filter?
- Jaką komendą wyświetlić listę reguł iptables?
- Umieć czytać listę reguł iptables (tzn. rozumieć co robi wskazana reguła).
- Jaką komendą dodać regułę:
- dotyczącą konkretnego adresu źródłowego / docelowego,
- protokołu TCP / UDP,
- dotyczącą konkretnego portu docelowego / źródłowego.
- Umieć konstruować proste reguły.
- Umieć usunąć regułę z listy.
- Kojarzyć programy do badania prędkości sieci między dwoma komputerami.
——— 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