Professional Documents
Culture Documents
Instrukcja
Instrukcja
Punkty, które można zdobyć za poszczególne zadania znajdują się przy treści zadania.
Całkowita możliwa ilość punktów do zdobycia: 15.
str. 1
if response.startswith('226'):
print('Transfer zakończony powodzenie')
else:
print('Błąd!')
2. Następnie należy uruchomić program Wireshark, który umożliwia przechwytywanie
pakietów, co pozwoli nam zaobserwować w jaki sposób przesyłane są dane z
wykorzystaniem FTP.
a. Po uruchomieniu programu Wireshark, ukaże się lista dostępnych kart
sieciowych, po najechaniu ukażą się adresy IP powiązane z daną kartą sieciową,
odnajdujemy kartę sieciową, która posiada adres w sieci 10.104.130.X (zdjęcie
poglądowe, nie reprezentuje stanu w laboratorium).
str. 3
użytkownika poprawna, proszę o hasło → wysłanie hasła (PASS) →
odpowiedź kod 230 udane logowanie → żądanie zmiany na typ binarny
(TYPE I) → odpowiedź kod 200 zmieniono na typ binarny → żądanie
zmiany na try pasywny (PASV) → odpowiedź kod 227 wejście w tryb
pasywny → żądanie pliku test.txt (RETR test.txt) → odpowiedź kod 125
rozpoczęto transfer → DANE → odpowiedź kod 226 transfer zakończony →
żądanie wyjścia (QUIT) → odpowiedź kod 221 „Do widzenia”
i. W oparciu o pierwszy odfiltrowany pakiet: czy aby na pewno mamy
odfiltrowaną, całą transmisję pomiędzy klientem a serwerem? Odpowiedź
proszę uzasadnić? (1 pkt)
Nie, ponieważ pierwszy pakiet jest opisany jako response (odpowiedź), więc
klient musiał wcześniej użyć innego protokołu aby połączyć się z serwerem i
wysłać żądanie, na które odpowiedzią jest pierwszy pakiet.
j. Jeżeli odpowiedź na poprzednie pytanie była: „Nie, (…)”, proszę odfiltrować w
inny sposób, np. podając adresy IP dla adresów źródłowych (Source) i
docelowych (Destination), można to zrobić za pomocą filtru: ip.src== oraz
ip.dest==. Gdzie po == podajemy adresy IP, proszę również pamiętać że
transmisja jest dwukierunkowa, więc źródłem będzie raz klient raz serwer,
podobnie będzie z adresem docelowym. Jak będzie wyglądać taki filtr? (1 pkt)
ip.src==10.104.130.20 or ip.dst==10.104.130.20 or ip.src==10.104.130.2 or
ip.dst==10.104.130.2
Przed pakietami protokołu FTP pojawił się trójstronny uścisk dłoni (SYN→
SYN-ACK→ACK) protokołu TCP.
str. 4
3. Proszę napisać, bazując na poprzednich skryptach, skrypt, który będzie listował
zawartość katalogu na serwerze FTP. Podpowiedź do listowania plików można
wykorzystać komendy protokołu FTP: https://ss64.com/rawftp.html. Poniżej proszę
umieścić kod źródłowy. (1 pkt)
from ftplib import FTP
str. 5
Część 2. Wymiana plików z wykorzystaniem SFTP (SSH + FTP)
SFTP (ang. Secure File Transfer Protocol) jest to protokół sieciowy służący do
bezpiecznego przesyłania plików pomiędzy dwoma komputerami w sieci. Jest on oparty na
protokole SSH (Secure Shell), co zapewnia szyfrowanie danych.
str. 6
zapisywał na komputerze pod nazwą test_sftp.txt. Podpowiedź w dokumentacji
biblioteki paramiko. Poniżej proszę zamieścić kod źródłowy. (1 pkt)
9. Poniżej proszę zamieścić zrzut ekranu z eksploratora plików z widocznym pobranym
plikiem test_sftp.txt (1 pkt)
import paramiko
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=host, port=port, username=username,
password=password)
sftp = ssh_client.open_sftp()
sftp.get('test.txt',r'C:\Users\student\Desktop\test_stfp.txt' )
sftp.close()
10. Proszę napisać skrypt, który będzie wysyłał plik na serwer, a następnie listował
wszystkie pliki na serwerze. Plik powinien być nazwany według konwencji:
Imie_Nazwisko.txt. Poniżej proszę zamieścić kod programu. (1 pkt)
str. 7
import paramiko
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=host, port=port, username=username,
password=password)
sftp = ssh_client.open_sftp()
sftp.put(r'C:\Users\student\Desktop\
Maksymilian_Siergiej.txt','Maksymilian_Siergiej.txt')
print('Pliki: ' + ', '.join(sftp.listdir()))
sftp.close()
11. Poniżej proszę zamieścić wynik działania poprzedniego skryptu. (1 pkt)
Pliki: test.txt, .profile, Maksymilian_Siergiej.txt, .bashrc, .bash_logout,
Kajetan_Kucharski.txt
12. Wypełniony dokument proszę przesłać na ePortal w formacie PDF.
str. 8