在远程机器上以根用户身份执行perl脚本,并使用javascript将输出返回到网页中

在远程机器上以根用户身份执行perl脚本,并使用javascript将输出返回到网页中,javascript,perl,web,packet-capture,Javascript,Perl,Web,Packet Capture,我使用perl脚本读取网络流量并将特定长度的数据包的有效负载打印回终端。要实现这一点,脚本应该由root用户启动,否则数据包将不会被读取。 为此,我在perl中使用pcap 现在我的Web服务器上有一个网页。我可以从我的网页执行perl脚本,并将终端上打印的输出输入到我的网页中吗 我试图使用javascript来达到这个目的,但我不知道它是如何做到的。 我试着用谷歌搜索它,得到的只是sshuser@remote“perl路径到/perlfile.pl” 有人能帮我解决这个问题吗? 要从网页启动命

我使用perl脚本读取网络流量并将特定长度的数据包的有效负载打印回终端。要实现这一点,脚本应该由root用户启动,否则数据包将不会被读取。

为此,我在perl中使用pcap

现在我的Web服务器上有一个网页。我可以从我的网页执行perl脚本,并将终端上打印的输出输入到我的网页中吗

我试图使用javascript来达到这个目的,但我不知道它是如何做到的。 我试着用谷歌搜索它,得到的只是
sshuser@remote“perl路径到/perlfile.pl”

有人能帮我解决这个问题吗?

  • 要从网页启动命令,请调用在web服务器上运行的另一个CGI脚本

    AJAX调用可以返回运行命令的结果(通常为JSON或XML格式),然后调用一些JavaScript处理程序在页面的DOM中呈现该数据

  • 要在web服务器的unix机器上本地以root用户身份运行某些东西,您需要从第一个项目符号中提到的CGI脚本调用脚本(因为出于安全原因,web服务器及其运行的所有脚本通常以非root用户身份运行)

  • 要在另一台机器上以root用户身份运行某些东西,您已经正确地发现需要使用ssh(来自同一个CGI脚本):
    sshroot@your_remotehost“perl路径到/perlfile.pl”

    您需要在两个系统之间正确设置ssh密钥,以便ssh不需要密码

    以非root用户身份运行时,您可能无法在没有密码的情况下以root用户身份进行ssh;在这种情况下,您需要:

    • ssh与CGI脚本的运行用户相同

    • 让命令在远程服务器上执行并运行suid脚本,如上面针对本地情况所述


如果您需要进一步的指导,您需要发布特定的代码片段、错误消息或疑难解答详细信息,以便我们可以评估问题所在。

谷歌给您的有什么问题?填写用户,主机和脚本的名称,你们应该有一个起点。当然,完整的想法并不十分明智,但这似乎不是你的问题。@innaM我尝试过,但这种方法不起作用。我尝试运行一个示例ping脚本,该脚本不需要root权限,但不起作用。您的编辑清楚地表明,您愿意使用仅javascript的解决方案来解决问题。你现在可以忘了这件事。让某个网页触发由root运行的作业是一个非常非常糟糕的主意,如果你真的必须这样做,你应该有很多很多经验。