Ver Mensaje Individual
  #8 (permalink)  
Antiguo 02/01/2011, 22:22
Avatar de lair
lair
 
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: ftp via sockets

OK, ya logre listar el contenido del directorio, explico el procedimiento.

1) nos conectamos a nuestro servidor ftp por el puerto asignado (generalmente 21)
2) nos autentificamos linea 2 y 4 del post anterior.
3) entrar en modo pasivo linea 24.

y aqui es donde viene lo interesante, en la salida de este comando PASV (linea 24) obtenemos algo como:
227 Entering Passive Mode (192,168,2,101,238,55).

FTP maneja dos puertos, uno para "el trafico de comandos (texto)" por decirlo de alguna manera y otro para el manejo de datos, como seria la transferencia de archivos o como en mi caso el resultado de un comando. bien ahora entremos en materia.

de esa salida (192,168,2,101,238,55) los primeros 4 bloques es la IP y los ultimos dos son el puerto, pero estos hay que unificarlos (no se exactamente como llamar a ese proceso), pero se hace de la siguiente manera.

238 en hexadecimal es => EE
55 en hexadecimal es => 37

ahora el numero hexadecimal que tenemos es: 0xEE37 el cual en decimal equivale a 60983 y este es nuestro puerto de recepcion, para esto se abre OTRA conexion con el servidor en mi caso telnet (A.B.C.D 60983) o en el de mi aplicacion (A.B.C.D:60983) y ahi es donde aparese casi por arte de magia el resultado del comando que habiamos tecleado en la otra conexion, llamada conexion de control.

Espero les sirva esta informacion, ya que no hay mucha en linea.

Suerte y gracias HackmanC Saludos y prospero año.