[SOLUCIONADO] Generar archivo remotamente.

  • 4 Respuestas
  • 376 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

This topic contains a post which is marked as Best Answer. Press here if you would like to see it.

Desconectado TitoPacheco

  • *
  • Underc0der
  • Mensajes: 10
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email

[SOLUCIONADO] Generar archivo remotamente.

  • en: Agosto 06, 2020, 01:17:30 am
Buenas, estoy aprendiendo a programar hace unos meses, y tenia una duda. Hay alguna forma de generar un archivo en otra pc o en un servidor remoto?
Por ejemplo, si yo creo el archivo en la PC "a" y lo ejecuto en la PC "b", que se cree un archivo en la "a". De no ser posible si me pudieran dar alternativas a lo que me refiero se los agradeceria.
« Última modificación: Agosto 09, 2020, 05:01:02 pm por AXCESS »

Desconectado Kirari

  • *
  • Moderator
  • Mensajes: 226
  • Actividad:
    90%
  • Country: ru
  • Reputación 12
  • No dejes que el mundo te corrompa
    • Ver Perfil
    • Baúl para el público

Re:Generar archivo remotamente.

  • en: Agosto 06, 2020, 01:40:57 am
Buenas!

Algo muy simple que se me ocurre ahora, es que el archivo que se cree en la máquina B, se envíe mediante sockets (el módulo en Python es socket: https://docs.python.org/3/library/socket.html) a la máquina A y que luego el archivo generado en B, se elimine, quedando así el fichero en A. Es algo muy sencillo de hacer.

Saludos!

-Kirari
« Última modificación: Agosto 06, 2020, 01:49:08 am por Kirari »
Jamás te contarán la verdadera versión, siempre te dirán la suya... Por eso... Si quieres saber la verdad, debes buscarla tú mismo...

Conectado DtxdF

  • *
  • Moderator
  • Mensajes: 816
  • Actividad:
    100%
  • Reputación 17
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

Re:Generar archivo remotamente.

  • en: Agosto 07, 2020, 02:35:37 am
Como lo explica el compañero, puede usar sockets y un lenguaje de programación. Por ejemplo, podríamos usar Python:

Un ejemplo usando la consola (Servidor):

Código: Bash
  1. Python 3.8.5 (default, Jul 27 2020, 08:42:51)
  2. [GCC 10.1.0] on linux
  3. Type "help", "copyright", "credits" or "license" for more information.
  4. >>> import socket
  5. >>> server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  6. >>> server.bind(('localhost', 4848))
  7. >>> server.listen(1)
  8. >>> obj = server.accept()
  9. >>> obj
  10. (<socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 4848), raddr=('127.0.0.1', 57542)>, ('127.0.0.1', 57542))
  11. >>> (sock, addr) = obj
  12. >>> with open('file.txt', 'wb') as fd:
  13. ...     fd.write(sock.recv(5))
  14. ...
  15. 5
  16. >>> exit()
  17. shell$ cat file.txt
  18. Hola

La contraparte (Cliente):

Código: Bash
  1. Python 3.8.5 (default, Jul 27 2020, 08:42:51)
  2. [GCC 10.1.0] on linux
  3. Type "help", "copyright", "credits" or "license" for more information.
  4. >>> import socket
  5. >>> client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  6. >>> client.connect(('localhost', 4848))
  7. >>> client.send(b'Hola\n')
  8. 5
  9. >>>

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Desconectado TitoPacheco

  • *
  • Underc0der
  • Mensajes: 10
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email

Re:Generar archivo remotamente.

  • en: Agosto 07, 2020, 07:59:42 pm
Como lo explica el compañero, puede usar sockets y un lenguaje de programación. Por ejemplo, podríamos usar Python:

Un ejemplo usando la consola (Servidor):

Código: Bash
  1. Python 3.8.5 (default, Jul 27 2020, 08:42:51)
  2. [GCC 10.1.0] on linux
  3. Type "help", "copyright", "credits" or "license" for more information.
  4. >>> import socket
  5. >>> server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  6. >>> server.bind(('localhost', 4848))
  7. >>> server.listen(1)
  8. >>> obj = server.accept()
  9. >>> obj
  10. (<socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 4848), raddr=('127.0.0.1', 57542)>, ('127.0.0.1', 57542))
  11. >>> (sock, addr) = obj
  12. >>> with open('file.txt', 'wb') as fd:
  13. ...     fd.write(sock.recv(5))
  14. ...
  15. 5
  16. >>> exit()
  17. shell$ cat file.txt
  18. Hola

La contraparte (Cliente):

Código: Bash
  1. Python 3.8.5 (default, Jul 27 2020, 08:42:51)
  2. [GCC 10.1.0] on linux
  3. Type "help", "copyright", "credits" or "license" for more information.
  4. >>> import socket
  5. >>> client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  6. >>> client.connect(('localhost', 4848))
  7. >>> client.send(b'Hola\n')
  8. 5
  9. >>>

~ DtxdF

Muchas gracias, lo explicaste bastante bien, pero aun tengo una duda, si el archivo es ejecutado desde otra red no serviria el "localhost",no? Haria falta establecer una ip fija o algo asi?

Marked as best answer by TitoPacheco en Agosto 08, 2020, 01:43:58 am

Conectado DtxdF

  • *
  • Moderator
  • Mensajes: 816
  • Actividad:
    100%
  • Reputación 17
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

Re:Generar archivo remotamente.

  • en: Agosto 07, 2020, 11:36:46 pm
@TitoPacheco

Aunque están correlacionados no se le dice ejecutar (en este caso), en cambio lo que hace ese pequeño snippet es leer el archivo 'file.txt' para enviarlo al otro extremo a posteriori.


Sobre tu cuestión sobre la dirección IP, te dejo unos enlaces que te explican un poco más algunos conceptos introductorios y quizá te ayuden en algo:

*- blog.orange.es/innovacion/que-es-direccion-ip-y-que-tienes-que-saber-sobre-la-tuya/
*- www.itba.edu.ar/intranet/como-hago/ch/como-obtener-el-numero-de-ip-de-una-pc/
*- es.godaddy.com/blog/que-es-direccion-ip-estatica-y-dinamica/
*- www.profesionalreview.com/2018/11/22/modelo-osi/
*- es.wikipedia.org/wiki/Modelo_TCP/IP
*- es.wikipedia.org/wiki/Socket_de_Internet


Resumiendo: No es necesario que sea una dirección IP estática, aunque funcionaría perfectamente también con una dirección IP dinámica. Aunque leyendo nuevamente lo que dijo, supongo se refiere a colocar la dirección IP del servidor como argumento en la tupla '.bind('<Dirección IP>', <Puerto>)' y también en '.connect(('<Dirección IP del servidor>', <Puerto a conectar>))'. Básicamente se lo explico así: Supongamos que existe un cartero (la máquina cliente) y éste necesita saber la dirección en donde enviará un paquete, en este caso nosotros (el servidor) le proporcionaremos la dirección donde vivimos (la dirección IP) y ahora los dos podrán enviarse paquetes entre sí; ok, todo bien hasta aquí, nosotros vivimos en una casa hasta que morimos por lo que nunca cambiaríamos de dirección y el cartero sabría en que lugar vivimos siempre, pero supongamos otra situación donde cada 24 horas estamos cambiando de casa, por lo tanto de dirección, lo primero se le conoce como dirección IP estática y lo segundo como dinámica, simple.

¿Quién nos proporciona esa dirección?, supongamos que sea una centro establecido en su urbanización el encargado de eso (el DHCP), el cual usted le pide una dirección, pero en el contrato está claro que tiene que renovarla cada 24 horas (dirección IP dinámica), a cambio si el centro le dice que no le importa qué dirección tenga, entonces usted mismo puede asignarse una (dirección estática) o él le brinda una y solo una.

Así que sí, dependiendo de la situación necesita colocar una dirección IP válida y que le haya proporcionado.

Nota: No soy muy bueno con las analogías y con la abstracción, aun así espero me haya entendido xD

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.

 

[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 27714
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 14817
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 12446
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 18753
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 18024
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon