원격 제어 경보

원격 제어 경보

나는 기계 중 하나가 원격 기계에 의해 트리거될 수 있는 실행 중인 원격 제어 경보를 갖기를 원합니다. 더 구체적으로

  • 머신 A가 백그라운드에서 서비스를 실행 중입니다.
  • 모든 원격 시스템 B는 경고를 트리거하기 위해 시스템 A에 패킷을 보낼 수 있습니다(명령이라고 함 alarm).

이 작업을 어떻게 제안하시나요?

나는 다음을 사용할 것이다 nc:

  • 머신 A의 서비스:

    nc -l 1111; alarm
    
  • 기계 B가 경보를 발동함

    nc <IP of machine A> 1111
    

소켓을 열기 위해 Python을 작성할 수도 있습니다 ...

답변1

이것에 대해 생각하다Python3 .

서버 A:

#!/usr/bin/env python3
# coding=utf8

from subprocess import check_call
from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.server import SimpleXMLRPCRequestHandler

# Restrict to a particular path
class RequestHandler(SimpleXMLRPCRequestHandler):
    rpc_paths = ('/JRK75WAS5GMOHA9WV8GA48CJ3SG7CHXL',)

# Create server
server = SimpleXMLRPCServer(
    ('127.0.0.1', 8888),
    requestHandler=RequestHandler)

# Register your function
server.register_function(check_call, 'call')

# Run the server's main loop
server.serve_forever()

서버 B:

#!/usr/bin/env python3
# coding=utf8

import xmlrpc.client

host = '127.0.0.1'
port = 8888
path = 'JRK75WAS5GMOHA9WV8GA48CJ3SG7CHXL'

# Create client
s = xmlrpc.client.ServerProxy('http://{}:{}/{}'.format(host, port, path))

# Call your function on the remote server
s.call(['alarm'])

관련 정보