CONTENT
- CHANGES
Szukaj
#top ftpdcmds¶
#top DESCRIPTION¶
ftpdcmds pozwala na nawiązywanie połączeń do serwera FTP i wykonywanie wielu róznych operacji włączając: nawiązanie połączenia czysto-tekstowego lub połączenia szyfrowanego z weryfikacją certyfikatu, autoryzacje (w obydwu przypadkach bez szyfrowania połączenia i z szyfrowaniem połączenia), wysyłanie plików na serwer, pobieranie plików z serwera, oraz innych komend na serwerze FTP.
Jedną z metod przekazywania hasła jest umieszenie jego w adresie URL. Niestety metoda ta ujawnia hasło każdemu, kto wyświetli listę procesów za pomocą np: "ps". Aby uchronić hasła przed podejrzeniem, należy zapisać je w pliku .netrc oraz za pomocą polecenia "chmod", ograniczyć dostęp do tego pliku tylko dla właściciela. Jeżeli hasła są bardzo ważne, nie należy go przechowywać w tym pliku na stałe, tylko dodać na czas wykonywania operacji i usunąć je z pliku natychmiast po zakończeniu wykonywania operacji na serwerze.
Jedną z metod przekazywania hasła jest umieszenie jego w adresie URL. Niestety metoda ta ujawnia hasło każdemu, kto wyświetli listę procesów za pomocą np: "ps". Aby uchronić hasła przed podejrzeniem, należy zapisać je w pliku .netrc oraz za pomocą polecenia "chmod", ograniczyć dostęp do tego pliku tylko dla właściciela. Jeżeli hasła są bardzo ważne, nie należy go przechowywać w tym pliku na stałe, tylko dodać na czas wykonywania operacji i usunąć je z pliku natychmiast po zakończeniu wykonywania operacji na serwerze.
#top Download¶
Download:
- Source: ftpdcmds.tar.gz (?,? kB),
- Linux: ftpdcmds (58,1 kB),
- OpenBSD: ftpdcmds-obsd (57,5 kB),
- FreeBSD: ftpdcmds-fbsd (59,5 kB),
- Solaris: ftpdcmds-sol (65,2 kB),
- BeOS: ftpdcmds-beos (70,7 kB),
- Windows: ftpdcmds.exe (81,1 kB),
#top SYNOPSIS¶
SYNOPSIS
ftpdcmds [options] <command> <ftp[s]://user:pass@host[:port]/path/to/file>
#top OPTIONS¶
Opcje wspólne:
-d
-q
--syserrors
Wyświetlanie informacji diagnostycznych.
-q
Tryb cichy. Wyłącza dodatkowe informacje wyświetlane standardowo.
--syserrors
Wyświetlanie systemowych przyczyn błędów.
Opcje sieciowe:
--prefer-family=family
--inet4
--ipv4
--inet6
--ipv6
-w timeout-connect
-W timeout-connect
--timeout-connect=timeout-connect
-T timeout-socket
--timeout-socket=timeout-socket
--bind-addr=ipaddr
--dnsqaddr=ipaddr
--dnsqtimeo=dnsq-timeout
Wybór preferowanej rodziny adresów do której nazwy będą rozwiązywane, możliwie wartości dla family: AF_UNSPEC|AF_INET|AF_INET6 (default: AF_UNSPEC).
--inet4
--ipv4
Rozwiązywanie nazw tylko do adresów protokołu IPv4 (opcja równoznaczna do --prefer-family=AF_INET).
--inet6
--ipv6
Rozwiązywanie nazw tylko do adresów protokołu IPv6 (opcja równoznaczna do --prefer-family=AF_INET6).
-w timeout-connect
-W timeout-connect
--timeout-connect=timeout-connect
Maksymalny czas oczekiwania na nawiązanie połączenia (domyślnie: 5.0). Dotyczy to tylko jednego serwera, w przypadku, gdy nazwa rozwiązuje się na 3 adresy IP, ten czas może być 3-krotnie dłuższy, jeśli połączenie z żadnym serwerem nie zakończy się sukcesem.
(-W - dla kompatybilności z innymi narzędziami sieciowymi)
(-W - dla kompatybilności z innymi narzędziami sieciowymi)
-T timeout-socket
--timeout-socket=timeout-socket
Maksymalny czas oczekiwania na wykonanie operacji sieciowych wysyłania i odbierania danych (domyślnie: timeout-connect=5.0 timeout-socket=90.0).
--bind-addr=ipaddr
Przypisanie lokalnego addresu IP przed nawiązywaniem połączenia do zdalnego serwera.
--dnsqaddr=ipaddr
Ustawienie adresu IP serwera nazw, który będzie używany do rozwiązywania nazw na adresy IP.
--dnsqtimeo=dnsq-timeout
Maksymalny czas oczekiwania na rozwiązanie nazwy na adres IP przez wskazany serwer nazw (stosowane z opcją --dnsqaddr).
Opcje wyświetlania komend wysyłanych do serwera i zwracanych odpowiedzi:
--sock-send
--sock-recv
--sock-info
-S
--comm-send
-R
--comm-recv
--data-send
--data-recv
Wyświetlanie pomocniczych informacji związanych z wysyłaniem danych.
--sock-recv
Wyświetlanie pomocniczych informacji związanych z odbieraniem danych.
--sock-info
Wyświetlanie pomocniczych informacji związanych z statusem wykonania wysłanych komend (metod).
-S
--comm-send
Wyświetlanie komend (nagłówków) wysyłanych do serwera.
-R
--comm-recv
Wyświetlanie komend (nagłówków) odbieranych od serwera.
--data-send
Wyświetlanie wysyłanych danych (treści) powiązanych z komendami (nagłówkami).
--data-recv
Wyświetlanie odbieranych danych (treści) powiązanych z komendami (nagłówkami).
Opcje TLS/SSL:
--ca-file=/etc/pki/tls/certs/ca-bundle.crt
--SNI=sniname
--starttls=TLSv13
--starttls=TLSv12
--starttls=TLSv11
--starttls=TLSv10
--starttls=SSLv3
--starttls
--tlsinfo
--certcheck-no
--certverify
--certinfo
--certshow
Ustawienie ścieżki do pliku zawierającego certyfikaty główne i pośrednie.
--SNI=sniname
Ustawia sniname jako SNI zamiast nazwy hosta z adresu URL.
--starttls=TLSv13
Wymuszenie nawiązania bezpiecznego połączenia z użyciem protokołu szyfrowania TLSv13.
--starttls=TLSv12
Wymuszenie nawiązania bezpiecznego połączenia z użyciem protokołu szyfrowania TLSv12.
--starttls=TLSv11
Wymuszenie nawiązania bezpiecznego połączenia z użyciem protokołu szyfrowania TLSv11.
--starttls=TLSv10
Wymuszenie nawiązania bezpiecznego połączenia z użyciem protokołu szyfrowania TLSv10.
--starttls=SSLv3
Wymuszenie nawiązania bezpiecznego połączenia z użyciem protokołu szyfrowania SSLv3.
--starttls
Wymuszenie nawiązania bezpiecznego połączenia z użyciem dowolnego protokołu szyfrowania.
--tlsinfo
Wyświetlenie informacji o nawiązanym połączeniu TLS/SSL (parametry szyfrowania):
Description - Opis protokołu TLS/SSL (Wersja - Zestaw Szyfrowania),
Session ID - Identyfikator Sesji,
Version - Wersja protokołu,
Cipher Suite - Zestaw Szyfrowania,
Key eXchange - Sposób wymiany kluczy,
Cipher - Szyfr,
MAC - Kod Uwierzytelnienia Wiadomości,
Compression - Kompresja używana w protokole TLS/SSL,
Session ID - Identyfikator Sesji,
Version - Wersja protokołu,
Cipher Suite - Zestaw Szyfrowania,
Key eXchange - Sposób wymiany kluczy,
Cipher - Szyfr,
MAC - Kod Uwierzytelnienia Wiadomości,
Compression - Kompresja używana w protokole TLS/SSL,
--certcheck-no
Weryfikacja Certyfikatu:
Zwrócenie kodu weryfikacji certyfikatu, umożliwiającego przerwanie połączenia w przypadku nie prawidłowego certyfikat (w przypadku braku tej opcji zostanie zwrócony kod oznaczający, że certyfikat jest prawidłowy, nawet w przypadku nie prawidłowego certyfikatu).
--certverify
Weryfikacja informacji w certyfikacie:
Sprawdzenie czy Wystawca certyfikatu jest zaufany
Sprawdzenie czy nazwa hosta w certyfikacie pasuje do nazwy hosta z którym nawiązano połączenie,
Wyświetlenie Wystawcy certyfikatu,
Wyświetlenie Podmiotu certyfikatu,
Sprawdzenie dat ważności certyfikatu,
Sprawdzenie czy nazwa hosta w certyfikacie pasuje do nazwy hosta z którym nawiązano połączenie,
Wyświetlenie Wystawcy certyfikatu,
Wyświetlenie Podmiotu certyfikatu,
Sprawdzenie dat ważności certyfikatu,
--certinfo
Informacje o certyfikacie X509:
Wyświetlenie wersji certyfikatu,
Wyświetlenie Numeru Seryjnego certyfikatu,
Wyświetlenie Sygnatury Argorytmu certyfikatu,
Wyświetlenie Wystawcy certyfikatu,
Wyświetlenie Podmiotu certyfikatu,
Wyświetlenie dat ważności certyfikatu,
Wyświetlenie informacji o Kluczu Publicznym,
Wyświetlenie Rozszerzeń certyfikatu,
Wyświetlenie Numeru Seryjnego certyfikatu,
Wyświetlenie Sygnatury Argorytmu certyfikatu,
Wyświetlenie Wystawcy certyfikatu,
Wyświetlenie Podmiotu certyfikatu,
Wyświetlenie dat ważności certyfikatu,
Wyświetlenie informacji o Kluczu Publicznym,
Wyświetlenie Rozszerzeń certyfikatu,
--certshow
Wyświetlenie certyfikatu w formacie PEM (Privacy Enhanced Mail).
Opcje różne:
--color=WHEN
--conn-retry-max=count
--conn-retry-wait=seconds
Kolorowanie wysyłanych komend i odbieranych statusów wykonania komend (nagłówków), WHEN może być jednym z: 'auto', 'always', 'never',
--conn-retry-max=count
Ustawia maksymalną liczbę ponowień operacji żądania na liczbę \fIcount\fR w przypadku, gdy żądanie nie może zostać zrealizowane z powodu błędów w komunikacji sieciowej.
--conn-retry-wait=seconds
Ustawia czas przerwy na seconds sekund przed ponowieniem żądania w przypadku, gdy żądanie nie może zostać zrealizowane z powodu błędów w komunikacji sieciowej.
Opcje protokołu FTP:
--disable-auth
--disable-op
--disable-comm-list
--list-comm-nlst
--list-comm-mlsd
--data-comm-pasv
--data-mode-active
-c
--rest-data
--disable-op
--command-pre="command"
--command-post="command"
--file-path=/path/to/file/root
--file-list=/path/to/file/list
Wyłacza (pomija) operacje autentykacji.
--disable-op
Wyłącza wykonywanie operacji określonych wywołaną komendą.
--disable-comm-list
Nie używaj komendy LIST do wyświetlenia zawartości katalogu.
--list-comm-nlst
Użyj komendy NLST do wyświetlenia zawartości katalogu.
--list-comm-mlsd
Użyj komendy MLSD do wyświetlenia zawartości katalogu.
--data-comm-pasv
Użyj komend PASV/PORT dla pasywnego/aktywnego połączenia (zamiast domyślnych EPSV/EPRT dla pasywnego/aktywnego połączenia).
--data-mode-active
Użyj aktywnego połączenia zamiast domyślnego pasywnego połączenia dla operacji wyświetlania zawartości katalogu i transferu plików.
Użyj komend EPRT/PORT dla aktywnego połączenia (zamiast domyślnych EPSV/PASV dla pasywnego połączenia).
Użyj komend EPRT/PORT dla aktywnego połączenia (zamiast domyślnych EPSV/PASV dla pasywnego połączenia).
-c
--rest-data
Kontynowanie pobieranie częściowo ściągniętego pliku. Należy zwrócić uwagę, że nie jest wykonywane żadne sprawdzenie (nie ma takiej możliwości) czy pobrana już część pliku jest aktualna.
--disable-op
Wyłącza wykonywanie operacji dla aktualnie wybranej komendy.
--command-pre="command"
Wysyła komendę command przed wykonaniem operacji określonych aktualnie wybraną komendą.
--command-post="command"
Wysyła komendę command po wykonaniu operacji określonych aktualnie wybraną komendą.
--file-path=/path/to/file/root
Określa ścieżkę katalogu głównego dla listy plików ze ścieżką względną.
--file-list=/path/to/file/list
Określa ścieżkę do pliku zawierającego listę plików ze ścieżką względną do pobrania lub wysłania do serwera.
#top COMMANDS¶
komendy dostępne:
#top UTILS commands¶
Komendy różne:
noop
syst
help
feat
Wysłanie instrukcji pustej do serwera. W programie uruchamianym z wiersza poleceń nie ma żadnego zastosowania, ale w innych aplikacjach utrzymujących połączenie do serwera przez dłuższy czas wysłanie pustej instrukcji pozwala sprawdzić czy połączenie jest aktywne oraz czy serwer odpowiada na wysyłane komendy.
syst
Wysłanie komendy SYST do serwera.
help
Wysłanie komendy HELP do serwera.
feat
Wysłanie komendy FEAT do serwera.
#top DIRS commands¶
Komendy do zarządzania katalogami:
stat
mlst
list
mlsd
nlst
mkd
mkdir
rmd
rmdir
remove
Wyświetlenie statusu katalogu (zawartości katalogu) lub pliku (statusu pliku).
mlst
Wyświetlenie informacji o katalogu lub pliku.
list
mlsd
nlst
Wyświetlenie zawartości (wylistowanie) katalogu.
mkd
mkdir
Utworzenie katalogu.
rmd
rmdir
Usunięcie katalogu.
remove
Usunięcie pliku lub katalogu z zawartością (rekurencyjnie).
#top FILES commands¶
Komendy do zarządzania plikami:
size
mdtm
time
rename
dele
Wyświetlenie rozmiaru katalogu.
mdtm
time
Wyświetlenie daty modyfikacji pliku (nie katalogu).
rename
Zmiana nazwy pliku lub katalogu.
dele
Usunięcie pliku.
#top TRANSFER commands¶
Komendy do przesyłania plików:
retr
stor
Pobranie pliku z serwera.
stor
Wysłanie pliku do serwera.
#top ENVIRONMENT VARIABLES¶
ZMIENNE ŚRODOWISKOWE
HOME
Określa ścieżkę do katalogu domowego w którym znajduje się plik konfiguracyjny użytkownika.
#top FILES¶
PLIKI
/etc/ftpdcmdsrc
$HOME/.ftpdcmdsrc
Globalny plik konfiguracyjny.
$HOME/.ftpdcmdsrc
Prywatny plik konfiguracyjny użytkownika.
#top SYNTAX FTPDCMDSRC¶
SKŁADNIA FTPDCMDSRC
syserrors=WHEN
prefer-family=family
timeout-connect=seconds
timeout-socket=seconds
bind-addr=ipaddr
dnsqaddr=ipaddr
dnsqtimeo=dnsq-timeout
proxyurl=(imap[s]|sieve|pop3[s]|nntp[s])://[user[:pass]@]host[:port]/
proxytunnel=WHEN
proxysocks=WHEN
sock-send=WHEN
sock-recv=WHEN
sock-info=WHEN
comm-send=WHEN
comm-recv=WHEN
data-send=WHEN
data-recv=WHEN
ca-file=/etc/pki/tls/certs/ca-bundle.crt
tlsinfo=WHEN
certverify=WHEN
certinfo=WHEN
certshow=WHEN
color=WHEN
conn-retry-max=count
conn-retry-wait=seconds
Wyświetlanie systemowych przyczyn błędów, WHEN może być jednym z: '1', '0', 'on', 'off'.
prefer-family=family
Wybór preferowanej rodziny adresów do której nazwy będą rozwiązywane, możliwie wartości dla family: AF_UNSPEC|AF_INET|AF_INET6 (default: AF_UNSPEC).
timeout-connect=seconds
Maksymalny czas oczekiwania na nawiązanie połączenia (domyślnie: 5.0). Dotyczy to tylko jednego serwera, w przypadku, gdy nazwa rozwiązuje się na 3 adresy IP, ten czas może być 3-krotnie dłuższy, jeśli połączenie z żadnym serwerem nie zakończy się sukcesem.
timeout-socket=seconds
Maksymalny czas oczekiwania na wykonanie operacji sieciowych wysyłania i odbierania danych (domyślnie: timeout-socket=90.0).
bind-addr=ipaddr
Przypisanie lokalnego addresu IP przed nawiązywaniem połączenia do zdalnego serwera.
dnsqaddr=ipaddr
Ustawia adres IP serwera nazw, który będzie używany do rozwiązywania nazw na adresy IP.
dnsqtimeo=dnsq-timeout
Maksymalny czas oczekiwania na rozwiązanie nazwy na adres IP przez wskazany serwer nazw (stosowane z opcją dnsqaddr=ipaddr).
proxyurl=(imap[s]|sieve|pop3[s]|nntp[s])://[user[:pass]@]host[:port]/
Używanie podanego adresu jako proxy do nawiązania połączenia z serwerem IMAP.
proxytunnel=WHEN
Nawiązanie połączenia tunelowanego przez proxy, WHEN może być jednym z: '1', '0', 'on', 'off'.
proxysocks=WHEN
Nawiązanie połączenia przez proxy socks, \fIWHEN\fR może być jednym z: '1', '0', 'on', 'off', WHEN może być jednym z: '1', '0', 'on', 'off'.
sock-send=WHEN
Wyświetlanie pomocniczych informacji związanych z wysyłaniem danych, WHEN może być jednym z: '1', '0', 'on', 'off'.
sock-recv=WHEN
Wyświetlanie pomocniczych informacji związanych z odbieraniem danych, WHEN może być jednym z: '1', '0', 'on', 'off'.
sock-info=WHEN
Wyświetlanie pomocniczych informacji związanych z statusem wykonania wysłanych komend (metod), WHEN może być jednym z: '1', '0', 'on', 'off'.
comm-send=WHEN
Wyświetlanie komend (nagłówków) wysyłanych do serwera, WHEN może być jednym z: '1', '0', 'on', 'off'.
comm-recv=WHEN
Wyświetlanie komend (nagłówków) odbieranych od serwera, WHEN może być jednym z: '1', '0', 'on', 'off'.
data-send=WHEN
Wyświetlanie wysyłanych danych (treści) powiązanych z komendami (nagłówkami), WHEN może być jednym z: '1', '0', 'on', 'off'.
data-recv=WHEN
Wyświetlanie odbieranych danych (treści) powiązanych z komendami (nagłówkami), WHEN może być jednym z: '1', '0', 'on', 'off'.
ca-file=/etc/pki/tls/certs/ca-bundle.crt
Ustawienie ścieżki do pliku zawierającego certyfikaty główne i pośrednie.
tlsinfo=WHEN
Wyświetlenie informacji o nawiązanym połączeniu TLS/SSL (parametry szyfrowania), WHEN może być jednym z: '1', '0', 'on', 'off'.
certverify=WHEN
Weryfikacja informacji w certyfikacie, WHEN może być jednym z: '1', '0', 'on', 'off'.
certinfo=WHEN
Informacje o certyfikacie X509, WHEN może być jednym z: '1', '0', 'on', 'off'.
certshow=WHEN
Wyświetlenie certyfikatu w formacie PEM (Privacy Enhanced Mail), WHEN może być jednym z: '1', '0', 'on', 'off'.
color=WHEN
Kolorowanie wysyłanych komend i odbieranych statusów wykonania komend (nagłówków), WHEN może być jednym z: 'auto', 'always', 'never'.
conn-retry-max=count
Określenie maksymalnej ilości powtórzeń prób nawiązania połączenia na count w przypadku nieudanej próby nawiązania połączenia.
conn-retry-wait=seconds
Oczekuje określoną ilość sekund podaną w argumencie seconds pomiędzy powtórzeniem pownego nawiązania połączenia.
#top SEE ALSO¶
ZOBACZ TAKŻE
libsocknet(3) libsocktls(3) libimap(3) libsmtp(3) libhttp(3) libftp(3) libtftp(3)
imapcmds(1) smtpsend(1) httprecv(1) httpexec(1) ftpdcmds(1) tftpcmds(1)
imapcmds(1) smtpsend(1) httprecv(1) httpexec(1) ftpdcmds(1) tftpcmds(1)
#top EXAMPLES¶
Przykłady przedstawiono w analogicznej kolejności do opisanych powyżej komend.
Nawiązanie połączenia z serwerem i zakończenie połączenia:
Nawiązanie szyfrowanego połączenia z serwerem, weryfikacja certyfikatu, wyświetlenie informacji o certyfikacie i zakończenie połączenia:
Wyświetlenie statusu katalogu (zawartości katalogu) i statusu pliku:
Wyświetlenie informacji o katalogu i pliku:
Wyświetlenie zawartości (wylistowanie) katalogu (komendą LIST z użyciem w trybu pasywnego oraz aktywnego):
Wyświetlenie zawartości (wylistowanie) katalogu (komendą NLST):
Wyświetlenie zawartości (wylistowanie) katalogu (komendą MLSD):
Pobranie (zapisanie) pliku z serwera do lokalnego pliku:
Wysłanie pliku lokalnego do serwera:
Kontynowanie pobierania częściowo pobranego pliku z serwera do lokalnego pliku:
Kontynowanie wysłania częściowo wysłanego pliku lokalnego do serwera:
Pobranie (rekurencyjnie) katalogu z serwera do lokalnego katalogu:
Wysłanie (rekurencyjnie) katalogu lokalnego do serwera:
Nawiązanie połączenia z serwerem i zakończenie połączenia:
ftpdcmds --syserrors -w 5 --comm-send --comm-recv noop ftp://host[:port]/
Nawiązanie szyfrowanego połączenia z serwerem, weryfikacja certyfikatu, wyświetlenie informacji o certyfikacie i zakończenie połączenia:
ftpdcmds --syserrors -w 5 --comm-send --comm-recv --ca-file=/etc/pki/tls/certs/ca-bundle.crt --starttls --tlsinfo --certcheck-no --certverify --certinfo noop ftp://host[:port]/
Wyświetlenie statusu katalogu (zawartości katalogu) i statusu pliku:
ftpdcmds --syserrors -w 5 --comm-send --comm-recv stat ftp://host[:port]/ ftpdcmds --syserrors -w 5 --comm-send --comm-recv stat ftp://host[:port]/filename.txt
Wyświetlenie informacji o katalogu i pliku:
ftpdcmds --syserrors -w 5 --comm-send --comm-recv mlst ftp://host[:port]/ ftpdcmds --syserrors -w 5 --comm-send --comm-recv mlst ftp://host[:port]/filename.txt
Wyświetlenie zawartości (wylistowanie) katalogu (komendą LIST z użyciem w trybu pasywnego oraz aktywnego):
ftpdcmds --syserrors -w 5 --comm-send --comm-recv list ftp://host[:port]/ ftpdcmds --syserrors -w 5 --comm-send --comm-recv --data-mode-active list ftp://host[:port]/
Wyświetlenie zawartości (wylistowanie) katalogu (komendą NLST):
ftpdcmds --syserrors -w 5 --comm-send --comm-recv nlst ftp://host[:port]/ ftpdcmds --syserrors -w 5 --comm-send --comm-recv --list-comm-nlst list ftp://host[:port]/
Wyświetlenie zawartości (wylistowanie) katalogu (komendą MLSD):
ftpdcmds --syserrors -w 5 --comm-send --comm-recv mlsd ftp://host[:port]/ ftpdcmds --syserrors -w 5 --comm-send --comm-recv --list-comm-mlsd list ftp://host[:port]/
Pobranie (zapisanie) pliku z serwera do lokalnego pliku:
ftpdcmds --syserrors -w 5 --comm-send --comm-recv retr ftp://host[:port]/filename.txt /path/to/filename.txt
Wysłanie pliku lokalnego do serwera:
ftpdcmds --syserrors -w 5 --comm-send --comm-recv stor ftp://host[:port]/filename.txt /path/to/filename.txt
Kontynowanie pobierania częściowo pobranego pliku z serwera do lokalnego pliku:
ftpdcmds --syserrors -w 5 --comm-send --comm-recv --rest-data retr ftp://host[:port]/filename.txt /path/to/filename.txt
Kontynowanie wysłania częściowo wysłanego pliku lokalnego do serwera:
ftpdcmds --syserrors -w 5 --comm-send --comm-recv --rest-data stor ftp://host[:port]/filename.txt /path/to/filename.txt
Pobranie (rekurencyjnie) katalogu z serwera do lokalnego katalogu:
ftpdcmds --syserrors -w 5 --comm-send --comm-recv retr ftp://host[:port]/pathname/ /path/to/pathname/
Wysłanie (rekurencyjnie) katalogu lokalnego do serwera:
ftpdcmds --syserrors -w 5 --comm-send --comm-recv stor ftp://host[:port]/pathname/ /path/to/pathname/
Przykład:
ftpdcmds -w 5 --sock-info --comm-send --comm-recv list ftp://ftp.atman.pl/
ftpdcmds: Resolving ftp.atman.pl ... 2001:1a68::d911:228e, 217.17.34.102 Success ftpdcmds: Connecting to ftp.atman.pl[2001:1a68::d911:228e]:21 Failed, Reason: 101:Network is unreachable ftpdcmds: Connecting to ftp.atman.pl[217.17.34.102]:21 Success ftpdcmds: result=ftp_conn(): result=1 Connect:OK Connected to ftp.atman.pl[217.17.34.102]:21 < 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- < 220-You are user number 2 of 50 allowed. < 220-Local time is now 19:57. Server port: 21. < 220-IPv6 connections are also welcome on this server. < 220 You will be disconnected after 15 minutes of inactivity. ftpdcmds: result=ftp_banner(): result=269 BANNER:OK 220:You will be disconnected after 15 minutes of inactivity. > USER ftp < 230 Anonymous user logged in ftpdcmds: result=ftp_auth(): result=1 AUTH:OK 230:Anonymous user logged in > EPSV < 229 Extended Passive mode OK (|||64020|) ftpdcmds: result=ftp_cmd_epsv()/ftp_cmd_pasv()/ftp_cmd_port()/ftp_cmd_eprt(): result=1 EPSV/PASV/PORT/EPRT:OK 229:Extended Passive mode OK (|||64020|) > TYPE A < 200 TYPE is now ASCII ftpdcmds: result=ftp_cmd_type(A): result=1 TYPE:OK 200:TYPE is now ASCII ftpdcmds: Connecting to DATA[217.17.34.102]:64020 Success > LIST / < 150 Accepted data connection ftpdcmds: Connecting to DATA[217.17.34.102]:64020 To HOST[:0]: Success ftpdcmds: result=ftp_cmd_list()/ftp_cmd_nlst(): result=1 LIST:OK 150:Accepted data connection -rw-r--r-- 1 1010 1010 1048576 Apr 18 2018 test1mb -rw-r--r-- 1 1010 1010 268435456 Apr 18 2018 test256mb -rw-r--r-- 1 0 0 26843545600 Jun 27 2018 test25gb -rw-r--r-- 1 1010 1010 1372334563 Oct 7 14:55 test5gb -rw-r--r-- 1 1010 1010 67108864 Apr 18 2018 test64mb drwxrwxr-x 2 1010 1010 4096 Oct 11 21:40 upload < 226-Options: -l < 226 6 matches total ftpdcmds: result=ftp_cmd_list()/ftp_cmd_nlst()/ftp_cmd_mlsd(): result=1 LIST:OK 226:6 matches total ftpdcmds: LIST: size=0 [B] time=0.002 [s] speed=0 [B/s] speed=0.0 [kB/s] speed=0.00 [MB/s] > QUIT < 221-Goodbye. You uploaded 0 and downloaded 0 kbytes. < 221 Logout. ftpdcmds: result=ftp_cmd_close(): result=1 QUIT:OK 6 matches total ftp://ftp.atman.pl/ dnsq=0.005, conn=0.085, banner=0.115, starttls=0.000, socktls=0.000 auth=0.000, comm=0.009, datatime=0.002, quit=0.000, summ=0.318, size=0, speed=0, SH=38 SB=0 RH=500, RB=0, result=226:6 matches total
Przykład:
ftpdcmds -w 5 --sock-info --comm-send --comm-recv --ca-file=/etc/pki/tls/certs/ca-bundle.crt --starttls --tlsinfo --certcheck-no --certverify --certinfo msgslist ftp://ftp.atman.pl/
ftpdcmds: Resolving ftp.atman.pl ... 2001:1a68::d911:228e, 217.17.34.102 Success ftpdcmds: Connecting to ftp.atman.pl[2001:1a68::d911:228e]:21 Failed, Reason: 101:Network is unreachable ftpdcmds: Connecting to ftp.atman.pl[217.17.34.102]:21 Success ftpdcmds: result=ftp_conn(): result=1 Connect:OK Connected to ftp.atman.pl[217.17.34.102]:21 < 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- < 220-You are user number 2 of 50 allowed. < 220-Local time is now 19:58. Server port: 21. < 220-IPv6 connections are also welcome on this server. < 220 You will be disconnected after 15 minutes of inactivity. ftpdcmds: result=ftp_banner(): result=269 BANNER:OK 220:You will be disconnected after 15 minutes of inactivity. > AUTH TLS < 500 This security scheme is not implemented > AUTH SSL < 500 This security scheme is not implemented ftpdcmds: result=ftp_starttls(): result=0 STARTTLS:FAIL 500:This security scheme is not implemented > QUIT < 221-Goodbye. You uploaded 0 and downloaded 0 kbytes. < 221 Logout. ftpdcmds: result=ftp_cmd_close(): result=1 QUIT:OK This security scheme is not implemented ftp://ftp.atman.pl/ dnsq=0.066, conn=0.009, banner=0.011, starttls=0.010, socktls=0.000 auth=0.000, comm=0.000, datatime=0.000, quit=0.000, summ=0.152, size=0, speed=0, SH=26 SB=0 RH=426, RB=0, result=500:This security scheme is not implemented
Zmodyfikowany ostatnio: 2020/07/11 09:52:50 (3 lata temu),
textsize: 30,9 kB,
htmlsize: 41,6 kB
Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników