Przejdź do treści

Przygotowanie serwera FTP

Do jednorazowego odebrania plików można wykorzystać niewielki serwer FTP z biblioteki pyftpdlib. Poniższe polecenia udostępniają wskazany katalog na porcie 2121 i tworzą konto svcftp z prawem zapisu.

Uwaga

Konfiguracja nie jest przeznaczona dla systemów produkcyjnych. Służy do szybkiego wystawienia serwera FTP na potrzeby zgrania danych do analizy incydentu. Serwis powinien:

  • być dostępny tylko dla maszyny, z której zgrywany jest materiał,
  • działać na maszynie nieprodukcyjnej (np. laptop z rezerwy sprzętowej).

Po zabezpieczeniu danych, przed ponownym użyciem w organizacji, sprzęt należy wyczyścić.

Tymczasowy serwer FTP w Pythonie

mkdir C:\FTP 
py -m pip install pyftpdlib
py -m pyftpdlib  --port=2121 --directory=C:\FTP --write --username=svcftp --password=HasloFTP

Jeżeli polecenie py nie jest dostępne, należy zastąpić je poleceniem python. Przy pierwszym uruchomieniu trzeba zezwolić Pythonowi na komunikację w Zaporze systemu Windows.

Pliki przesłane zostaną zapisane w katalogu C:\FTP.

Serwer po uruchomieniu zwraca wynik podobny do tego poniżej:

C:\FTP>py -m pyftpdlib --port 2121 --directory=C:\FTP --write --username=svcftp --password=HasloFTP
[I 2026-07-23 14:38:48] concurrency model: async
[I 2026-07-23 14:38:48] masquerade (NAT) address: None
[I 2026-07-23 14:38:48] passive ports: None
[I 2026-07-23 14:38:48] >>> starting FTP server on 0.0.0.0:2121, pid=9184 <<<
mkdir -p ~/ftp
python3 -m venv ~/ftp/.venv
source ~/ftp/.venv/bin/activate
python -m pip install pyftpdlib
python -m pyftpdlib --port=2121 --directory="$HOME/ftp" --write --username=svcftp --password=HasloFTP

Jeżeli na komputerze działa zapora sieciowa, należy dopuścić port TCP 2121. Serwer działa do chwili naciśnięcia Ctrl+C, a pliki przesłane zostaną zapisane w katalogu ftp w katalogu domowym.

Serwer po uruchomieniu zwraca wynik podobny do tego poniżej:

python -m pyftpdlib --port=2121 --directory="$HOME/ftp" --write --username=svcftp --password=HasloFTP
[I 2026-07-30 12:43:48] concurrency model: async
[I 2026-07-30 12:43:48] masquerade (NAT) address: None
[I 2026-07-30 12:43:48] passive ports: None
[I 2026-07-30 12:43:48] >>> starting FTP server on 0.0.0.0:2121, pid=13565 <<<

Ostatnia aktualizacja artykułu: 2026-09-02.