FTP jest to protokół transferu plików (File Transfer Protocol), który umożliwia ich wymianę między serwerem, a klientem w obydwie strony. Większość protokołów w celu nawiązania połączenia wykorzystuje jeden port, jednak FTP różni się pod tym względem, ponieważ wykorzystuje on dwa porty. Port o numerze 21, tak zwany port kontrolny, służący do nawiązania połączenia z serwerem FTP oraz port o innym numerze do przesyłania danych. Klient FTP inicjuje połączenie na porcie 21. Następnie przeprowadzana jest procedura uwierzytelniania użytkownika. Kiedy klient prosi o dane, serwer otwiera nowe połączenie korzystając z wybranego portu o innym numerze.
FTP jest protokołem tekstowym (w związku z czym nie zabezpieczonym przed podsłuchiwaniem).
Z serwerem FTP możemy komunikować się za pomocą surowego protokołu ftp:
Lub za pomoca nakładki, czyli systemowo dostępnego polecenia ftp
Podejście wykorzytujące jeden port do kontroli a osobny port do przesyłania danych jest przestarzałe. Powoduje w praktyce to, że wyniki wywołania komend takich jak ls są przesyłane jako dane. Może to powodować błędy w postaci takiej, że połączenie zostaje nawiązane jednakże nie możemy wykonać określonej komendy FTP. Domyślnie (w tak zwanym aktywnym trybie) połączenie jest ustanawiane przez wysyłającego do odbiorcy. W tym wypadku wynik wykonania komendy ls zostaje przesłany przez serwer który ustanawia z klientem połączenie na losowym porcie. W praktyce w dzisiejszych czasach w przypadku Firewalli oraz sieci prywatnych (NAT) komunikacja taka nie może być nawiązana (np. ponieważ klient blokuje porty). Rozwiązaniem jest korzystanie z tzw. trybu pasywnego ftp, gdzie wszystkie połączenia są inicjowane przez klienta.
W związku z czym z laboratoriów łączymy się używając polecenia
ftp -p *adres_serwera*
Zadanie (2 pkt)
W pliku Plik1 znajduje się log komunikacji pomiędzy klientem a serwerem ftp
Podaj porty na których zachodziła komunikacja oraz listę komend ftp podaną przez użytkownika.
Wykorzystując podejrzane dane na temat użytkownika i hasła połącz się na serwer ftp prowadzącego i załóż tam katalog o nazwie ImieNazwisko (podając w tym miejscu swoje dane). Załącz do tego katalogu dowolny mały plik o rozszerzeniu txt.
Zadanie (1 pkt)
Czy przesłanie w FTP binarne zajmuje więcej czasu niż tekstowe? Wykonać odpowiedni eksperyment na serwerze (podaj wykorzystane komendy) i opisz jego wynik.
Protokół HTTP (Hypertext Transport Protocol) to protokół, który jest wykorzystywany do komunikacji serwerów WWW z klientami. Komunikacja między klientem a serwerem odbywa się na zasadzie schematu zapytanie-odpowiedź.
Opis pól nagłówków HTTP można znaleźć np tutaj:
Przykład nagłówka:
echo -e "HEAD http://www.staff.amu.edu.pl/~mw/index.html HTTP/1.0\n\n" | nc www.staff.amu.edu.pl 80 | less
Zadanie (1 pkt)
W pliku Plik2 znajduje się log komunikacji pomiędzy klientem a serwerem
Odpowiedz na pytania: Jaki jest domyślny port na którym działa protokół HTTP? Na jakim serwerze (dystrybucji) umieszczona jest strona www.staff.amu.edu.pl/~mw/index.html? Z jakiego systemu i z jakiej przeglądarki dokonywano zapytań?
SMTP - protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w Internecie.
SMTP to względnie prosty, tekstowy protokół, w którym określa się co najmniej jednego odbiorcę wiadomości (w większości przypadków weryfikowane jest jego istnienie), a następnie przekazuje treść wiadomości. Demon SMTP działa najczęściej na porcie 25. Łatwo przetestować serwer SMTP przy użyciu programu telnet.
Aby połączyć się z serwerem SMTP wystarczy wpisać jego adres i port:
nc smtp.wmi.amu.edu.pl 25
Opis komend smtp można znaleźć pod adresem:
Po polsku:
Zadanie (1 pkt)
W pliku Plik3 znajduje się log komunikacji pomiędzy klientem a serwerem
Jaki jest adres IP na którym działa serwer SMTP? Spróbuj odpowiedzieć na pytanie dlaczego serwer potraktował Janusza w ten sposób?
Zadanie (2 pkt)
Korzystając z serwera smtp.wmi.amu.edu.pl wyślij do prowadzącego mail z adresu dziekan@wmi.amu.edu.pl w temacie umieszczając swoje imię i nazwisko. Data maila ma być wczorajsza!
Proszę o przesłanie rozwiązań mailem jako tekst w treści wiadomości. W temacie powinien znajdować się numer indeksu i słowo SIK.
Wykorzystano materiały z:
http://www.staff.amu.edu.pl/~ttomek/sik/cwiczenia8.html
http://www.drzewo-wiedzy.pl/?page=artykul&id=79
http://www.drzewo-wiedzy.pl/?page=artykul&id=70
https://www.httpwatch.com/httpgallery/headers/