0
シンプルなリモートシェルをしたい。私はcomunicateにソケットを使用していて、LANで動作します。今、私の友人は自分のクライアントからサーバスクリプトに接続しようとしていますが、それはできません。 私はポート4333の公開を開いて、ルータに10001プライベートに関連づけました。Pythonを使ったリモートシェル
ところで私はIPをXXに置き換えました。
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Client's script
import socket
import sys
import os
# I create a TCP/IP socket
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)
=========
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Server's script
import socket
import sys
# I create the TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
direc = socket.gethostbyname(socket.gethostname())
# Socket link
server_address = (direc, 10001)
connection = sock.bind(server_address)
sock.listen(1)
coman = ''
while coman != 'salir':
# Awaiting conecction
print "Esperando conexion..."
connection, client_address = sock.accept()
coman = raw_input("Introduce comando: ")
connection.sendall(coman)
connection.close()
サーバーはポート10001でリッスンしていますが、クライアントはポート4333に接続しようとしています。IPアドレスが正しい場合でも動作する方法はありません。 –