ciao a tutti
ieri ho creato una connessione socket tra client e server con python
server.py
client.py
Volevo sapere perchè il comando os.system(comando) non esegue tutti i comandi di una normale shell bensì solo alcuni ad esempio
cd /root/ non lo esegue, se voi sapete come far eseguire tutti i comandi della shell sarei contento se mi diceste come fare.
Poi volevo sapere perche la seconda volta che dicito un comando shell dal server al client non me lo esegue.
ieri ho creato una connessione socket tra client e server con python
server.py
Codice:
import socket
port = 4444
host = "127.0.0.1"
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((host, port))
server_socket.listen(5)
while 1:
client_socket, address = server_socket.accept()
while 1:
print "Connection from ", address
invio = raw_input("comando:>")
client_socket.send(invio)
dati = client_socket.recv(1024)
print dati
Codice:
import socket, os, subprocess
port = 4444
host_server = "127.0.0.1"
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((host_server, port))
while 1:
server_data = client_socket.recv(1024)
os.system(server_data)
output = subprocess.check_output(server_data, shell=True)
client_socket.send(output)
cd /root/ non lo esegue, se voi sapete come far eseguire tutti i comandi della shell sarei contento se mi diceste come fare.
Poi volevo sapere perche la seconda volta che dicito un comando shell dal server al client non me lo esegue.