Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: FTP over Telnet

  1. #1

    FTP over Telnet

    Salve a tutti,
    Forse il problema è un po complicatuccio (o forse no, o forse sono io hehe)
    È possibile stabilire una connessione FTP tramite un terminale telnet (per esemprio quello presente in windows XP PRO)?
    È possibile (e qui viene la parte interessante) trasferire file in questa maniera?
    Per intenderci, ecco un esempio di riga di comando:
    codice:
    telnet 62.34.213.80 21
    220---------- Welcome to Pure-FTPd [TLS] ----------
    220-You are user number 2 of 50 allowed.
    220-Local time is now 09:44. Server port: 21.
    220-This is a private system - No anonymous login
    220 You will be disconnected after 15 minutes of inactivity.
    user *****
    331 User ***** OK. Password required
    pass *****
    230-User ***** has group access to:  *****
    230 OK. Current restricted directory is /
    syst
    215 UNIX Type: L8
    feat
    211-Extensions supported:
     EPRT
     IDLE
     MDTM
     SIZE
     REST STREAM
     MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
     MLSD
     ESTP
     PASV
     EPSV
     SPSV
     ESTA
     AUTH TLS
     PBSZ
     PROT
    211 End.
    Fin qui ci riesco, ma quando tento di stabilire una connessione passiva per listare il contenuto delle directory in questo modo:

    codice:
    pasv
    227 Entering Passive Mode (62,216,187,2,168,161)
    LIST -aL
    Non funziona!
    Chi mi sa dire perché?!?

    Vi ringrazio molto
    If today was perfect, there would be no need for tomorrow...
    Live as you want, the wildest way you can, till you're alive!!

  2. #2
    Utente di HTML.it L'avatar di gigyz
    Registrato dal
    Oct 2003
    Messaggi
    1,443
    forse perchè il comando è ls ?

  3. #3
    No il comando è LIST (attenzione sto accedendo tramite ftp utilizzando telnet, non ho accesso SSH al server)

    Il problema è che una volta dato il comando
    codice:
    pasv
    il server non reagisce più a nessun comando!!

    Altri suggerimenti?
    If today was perfect, there would be no need for tomorrow...
    Live as you want, the wildest way you can, till you're alive!!

  4. #4
    Utente di HTML.it L'avatar di gigyz
    Registrato dal
    Oct 2003
    Messaggi
    1,443
    hai ragione non avevo letto attentamente ma perchè fare tutto sto casino non puoi usare ftp invece del telnet ? cmq se metti in PASV dai il controllo al server e il server che ne sa cosa vuoi fare tu ?

  5. #5
    ok grazie, fin qui ci siamo
    Ho provato senza pasv a far eseguire list al server.

    Mi dice
    codice:
    425 No data connection
    come faccio a stabilire sia la connessione di controllo che quella dati?
    Un sistema ci deve pur essere visto che qualsiasi client GUI based lo può fare!!

    Il perché volgio fare così si spiega semplicemente in un controllo più completo del server e delle estensioni (PureFTPD)

    Mi sapete aiutare?

    azie, ciau
    If today was perfect, there would be no need for tomorrow...
    Live as you want, the wildest way you can, till you're alive!!

  6. #6
    Utente di HTML.it L'avatar di gigyz
    Registrato dal
    Oct 2003
    Messaggi
    1,443
    questa storia mi ha incuriosito ed ho trovato la soluzione o quasi :master: quando metti in pasv poi devi fare un'altra sessione telnet per controllare il server remoto sulla porta che ottieni col PASV, solo che non ho capito come risalire al valore numerico della porta dai due valori che ti ritorna il PASV cmq è spiegato qui http://www.raditha.com/linux/ftp.php. Secondo me non ci guadagni niente a usare il telnet al posto dell'ftp a linea di comando, se poi è una questione didattica è un'altra storia.

  7. #7
    grazie mille

    Beh più che altro è una questione didattica, per capire più approfonditamente come lavora FTP
    Adesso mi leggo sto articolo, poi ti dico se mi ha portato a qualcosa

    ciauu
    If today was perfect, there would be no need for tomorrow...
    Live as you want, the wildest way you can, till you're alive!!

  8. #8
    Ok, il testo mi è stato MOLTO utile, grazie

    Adesso però c'è un altro quesito.
    Il documento che mi hai linkato dice che bisogna stabilire una connessione secondaria con il server tramite la porta che viene assegnata dal server tramite il comando pasv.
    peccato che il server ritorna, se ho ben capito l'ip e il numero minimo e massimo di bit per la porta (cosa significhi non l'ho ancora capito bene)

    comqunue:
    codice:
    227 Entering Passive Mode (127,0,0,1,54,255)
    come faccio a calcolare quale porta usare utilizzando i due ultimi dati? (54,255)

    azie, ciau
    If today was perfect, there would be no need for tomorrow...
    Live as you want, the wildest way you can, till you're alive!!

  9. #9
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    allora FTP si basa sempre su due connessioni parallele, una per i comandi e una per i dati. Quando dai il PSV indiche al server che lui deve occuparsi di aprire una porta locale sulla quale lo contatterai e dalla quale poi ti manderà i dati.

    Es
    Dal prompt o shell:
    codice:
    telnet server.com 21
    220 banner
    user utente
    331 utente ok
    pass password
    230 ok accesso consentito
    PASV
    227 Entering Passive Mode (x,y,x,w,H,L)
    quando ha ricevuto il pasv il server ha eseguito un comando port col quale ti comunica su quale ip e su quale porta devi connetterti per ottenere i dati.
    L'ip è x.y.x.w
    la porta è data da H*256+L

    Sia
    x=10
    y=11
    z=12
    w=13
    H=184
    L=158

    l'ip sarà 10.11.12.13
    la porta sarà 184*256+158=47262
    A questo punto apri una seconda shell (o prompt) e digita

    telnet 10.10.12.13 47262

    non succederà niente.

    torna alla prima shell e digita
    LIST

    guarda cosa è successo alla seconda shell!! tadaaaa miracolo!

    Al termine del trasferimento dati la connessione viene persa (telnet torna al prompt nella shell2) ma pasta rilanciare lo stesso comando sulla stessa porta (telnet 10.10.12.13 47262) per tornare agganciati.
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  10. #10
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    ti suggerisco anche un altro modo per testare la modalità attiva invece che quella passiva...
    In pratica sei tu che ricevi una connessione dal server per il canale dati. Ora non dai un pasv ma dai un comando PORT.

    se tu dai PORT x,y,z,w,H,L

    dove x,y,z,w è il tuo IP

    poi scegli una porta libera sul tuo pc ad es la 8000:
    ottieni

    H=int(8000/256)=int(32.25)=31
    L=8000-H*256=64

    port x,y,z,w,31,64


    il problema ora è che in una seconda shell devi avere un programma che ascolta e non che si connette... telnet non va bene! Puoi invece usare una istanza di netcat per windows usato come server

    http://www.securityfocus.com/tools/139/scoreit


    puoi usare nella shell2 il comando

    nc -l -p porta

    dove porta sarà nel nostro caso 8000
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.