Domanda Come creare script che funzionano da remoto

JokerHack22

Utente Silver
1 Agosto 2021
63
30
4
57
Ciao ragazzi, vorrei sapere come devo fare per creare degli script che funzionano con i socket in python da remoto. Mi spiego meglio, io non capisco cosa devo aggiungere ai moduli python esempio(opencv ,keyboard ecc) per farli comunicare da remoto (client/server). Mi sapreste aiutare. Grazie
 
Ciao ragazzi, vorrei sapere come devo fare per creare degli script che funzionano con i socket in python da remoto. Mi spiego meglio, io non capisco cosa devo aggiungere ai moduli python esempio(opencv ,keyboard ecc) per farli comunicare da remoto (client/server). Mi sapreste aiutare. Grazie
Per creare una connessione client/server in python, di solito, si utilizza il modulo "socket". Quindi importi la libreria socket e crei un oggetto socket, che successivamente potrai utilizzare per connetterti al server, trasferire, ricevere messaggi ecc.
 
Inizia con il prendere (o creare, meglio ancora! ) una banale chat da terminale
Cosa serve?
Un file server.py ed un file client.py (ovviamente chiamati cosi' per convenzione, puoi anche chiamarli pippo e pluto)
Il server dovra' ascoltare le connessioni su una porta X e gestirle (accettarle o rifiutarle)
Il client dovra' provare ad inviare un messaggio al server

Nel momento in cui il server riceve il messaggio e, volendo, risponde al client, hai creato una connessione client-server.

Fatto cio' puoi amplificare il tutto come vuoi, ma inizia con SOLO la libreria socket per capire il funzionamento, poi passa alle altre che hai menzionato
 
import socket;
import subprocess;
import os;

host='metti qua l'indirizzo IP, puoi leggerlo con ifconfig';
port='la porta forwardata in ascolto, no portforwarding perché sei in nat? Portmap.io is the way';

s=socket.socket(socket.AF_INET, SOCK_STREAM);
s.connect((host, port));

È solo una bozza, non l'ho testato e non sono sicuro che funzioni.
PS. Non faccio lavori gratis per nessuno, l'ho scritto solo perché mi piace il python, alla prima bozza sbaglio sempre qualcosa.
 
  • Mi piace
Reazioni: --- Ra ---
import socket;
import subprocess;
import os;

host='metti qua l'indirizzo IP, puoi leggerlo con ifconfig';
port='la porta forwardata in ascolto, no portforwarding perché sei in nat? Portmap.io is the way';

s=socket.socket(socket.AF_INET, SOCK_STREAM);
s.connect((host, port));

È solo una bozza, non l'ho testato e non sono sicuro che funzioni.
PS. Non faccio lavori gratis per nessuno, l'ho scritto solo perché mi piace il python, alla prima bozza sbaglio sempre qualcosa.
Le istruzioni vanno senza ";" , non parliamo di C++, per il resto il codice sembra corretto. ;)
 
  • Mi piace
Reazioni: Netcat
Per creare una connessione client/server in python, di solito, si utilizza il modulo "socket". Quindi importi la libreria socket e crei un oggetto socket, che successivamente potrai utilizzare per connetterti al server, trasferire, ricevere messaggi ecc.
Grazie della risposta ma quello che intendo io e,
Come faccio per far funzionare esempio, questo pezzo di codice da remoto.
Mi spiego meglio io voglio che questo codice qui sotto mi faccia vedere la webcam da remoto di un altro pc, ma il mio problema è che non so come fare per trasformarlo in un codice che funzioni da remoto con il modulo socket di python. Spero che adesso si sia capito meglio quale il mio problema. Grazie


import cv2 as cv
capture=cv.VideoCapture(0)
While True:
ret, frame=capture.read()
cv.imshow("frame",frame)
if cv.waitKey(200) & 0xFF==ord('q'):
break
capture.release()
cv.destroyAllWindows()
 
Grazie della risposta ma quello che intendo io e,
Come faccio per far funzionare esempio, questo pezzo di codice da remoto.
Mi spiego meglio io voglio che questo codice qui sotto mi faccia vedere la webcam da remoto di un altro pc, ma il mio problema è che non so come fare per trasformarlo in un codice che funzioni da remoto con il modulo socket di python. Spero che adesso si sia capito meglio quale il mio problema. Grazie
Il codice funziona sulla macchina su cui viene eseguito, quel codice che hai postato va messo sul pc remoto e poi può mandarti il frame catturato via socket in modo che tu possa vederlo in remoto.
 
  • Love
Reazioni: --- Ra ---
Il codice funziona sulla macchina su cui viene eseguito, quel codice che hai postato va messo sul pc remoto e poi può mandarti il frame catturato via socket in modo che tu possa vederlo in remoto.
Ok, dimmi se ho capito bene. Io devo mettere il codice che ho postato sul cliente, invece sul server metterò il codice per catturare il frame? Dimmi se ho capito bene.
 
Ok, dimmi se ho capito bene. Io devo mettere il codice che ho postato sul cliente, invece sul server metterò il codice per catturare il frame? Dimmi se ho capito bene.
Dipende se vuoi stabilire una connessione reverse oppure no. Quello che conta è che la parte che cattura il frame e lo invia va sul pc da controllare, la parte che lo riceve e lo mostra va sul tuo pc. Client e server sono intercambiabili dipende da cosa vuoi ottenere e come disegni il tuo programma. Visto il contesto sembra che tu voglia fare una sorta di RAT, in tal caso è conveniente usare una connessione reverse, quindi si, il codice che cattura è nel client e quello che riceve e mostra è nel server.
 
  • Mi piace
Reazioni: JokerHack22