我在C中创建了一个Linux文件服务器和一个Windows客户端。我希望能够通过服务器上的客户端执行命令。例如,我希望服务器执行'ls'命令并发回结果。我知道服务器可以用execl()执行ls,但我感兴趣的是如何让服务器知道要执行的命令。
输入示例(客户端):
ls server
输出示例(服务器发送的结果):
mail.c public.html test.txt docu.php
任何代码都会有所帮助,但某种形式的解释会很好。
答案 0 :(得分:0)
执行此操作的一种方法可能是在Linux主机上设置一个小型Web服务API,以便可以通过http(s)完成此操作。如果您在Linux主机上运行apache和PHP,Windows客户端只需将命令发布到PHP脚本,然后PHP脚本就可以运行命令(通过shell_exec函数),并将结果回显给Windows客户。但是,每当你做这样的事情时,你需要在防御性思考,因为有许多攻击向量与这样的事情。请务必检查PHP脚本以确保命令是安全的。并且,如果可能,仅限制连接到Windows客户端。