al final encontre una libreria por si alguien necesitaba de eso
la libreria esta en
http://www.otakusoftwaremx.hostzi.com/index.php?module=LstLib&pagina=2y el codigo:
Imports OSMXFtp
Dim hCFTP As ClienteFTP
'Funcion para recuperar todos los mensajes enviados por parte del servidor
Private Sub MesajesFTPs(Byval hResp As ClienteFTP.InfoRespuesta) Handle hCFTP.MensajesFTP
CapturaMensajes(hResp.cMensajeFTP)
End Sub
'Funcion para mostrar los mensajes, tambien se utiliza para recuperar errores y advertencias
'por parte del servidor
Private Sub CapturaMensajes(ByVal cMensajes As String) Handle hCFTP.OcurrioError,hCFTP.AdvertenciasFTP
RTBMsg.AppendText(cMensajes & vbLfCr)
End Sub
hCFTP = New ClienteFTP("127.0.0.1","root","123456","/",21)
'Habilitamos el archivo LOG
hCFTP.HabilitarHistorial = True
'Iniciamos sesion
If hCFTP.LogIn() Then
MsgBox("Conectado..",MsgBoxstyle.Information,"Estado Conexión")
Else
MsgBox("No conectado..",MsgBoxstyle.Information,"Estado Conexión")
End If
hCFTP.DownloadFile("MiArchivo.txt")
'O utilizar las sobrecargas
'hCFTP.DownloadFile("MiArchivo.txt","C:\MiArchivo2.txt",False)
'hCFTP.DownloadFile("MiArchivo.txt",False)
hCFTP.UploadFile("MiArchivo.txt")
'Outilizar las sobrecargas
'hCFTP.UploadFile("MiArchivo.txt",False)
'Recuperar el tamaño de un archivo
hCFTP.GetFileSize("Miarchivo.txt")
'Recuperar archivos y directorios
Dim hValores As Hashtable = New Hashtable()
hValores = hCFTP.GetPathAndFileList()
'InfoPath es la estructura almacenada en el resultado de la función
'GetPathAndFileList
For Each hV As ClienteFTP.InfoPath In hValor.Values
If hV.hTipo == ClienteFTP.TipoArchivo.Directorio Then
MsgBox(hV.cNombre,MsgBoxstyle.Information,"Directorio")
Else
MsgBox(hV.cNombre,MsgBoxstyle.Information,"Archivo")
End If
Next