Buenas, hace poco he preguntado cómo comunicarme entre scripts con python para hacer una shell remota simple. Pues bien, he utilizado sockets y me ha funcionado, en red local. Ahora estoy intentando un amigo está intentando conectarse a mi script servidor desde su cliente pero no puede.
He abierto el puerto 4333 público y lo he asociado al 10001 privado en mi router.
Aquí adjunto los scripts. He sustituido las IPs por XX, si pudierais responder del mismo modo os lo agradeceria
He abierto el puerto 4333 público y lo he asociado al 10001 privado en mi router.
Aquí adjunto los scripts. He sustituido las IPs por XX, si pudierais responder del mismo modo os lo agradeceria

Código [Seleccionar]
#!/usr/bin/python
# -*- coding: utf-8 -*-
#Script del cliente
import socket
import sys
import os
# Creo un socket TCP/IP
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('XX.XXX.XX.XX', 4333)
sock.connect(server_address)
datos = sock.recv(30)
comando = str(datos)
os.system(comando)
Código [Seleccionar]
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Script del servidor
import socket
import sys
# Creo el socket TCP/IP
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
direc = socket.gethostbyname(socket.gethostname())
# Enlace del socket
server_address = (direc, 10001)
connection = sock.bind(server_address)
# Escuchando conexiones entrantes
sock.listen(1)
coman = ''
while coman != 'salir':
# Esperando una conexion
print "Esperando conexion..."
connection, client_address = sock.accept()
coman = raw_input("Introduce comando: ")
connection.sendall(coman)
connection.close()