リモートコントロールアラーム

リモートコントロールアラーム

私は、マシンの1つがリモートマシンによってトリガーされる可能性がある実行中のリモートコントロールアラームを持つことを望みます。より具体的に

  • マシン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'])

おすすめ記事