首页 > 解决方案 > 如何设置一个端口,以便当有人 netcats 到它时运行一个脚本

问题描述

因此,例如,当用户 netcats 到端口 7896 时,将运行一个要求用户输入的脚本。

标签: linuxbashnetworking

解决方案


foo.sh这是一个在有人连接时执行的服务器。

服务器.sh

#!/bin/bash

while [[ 1 ]]; do
    ncat -l -p 7896 -e foo.sh
done

foo.sh

#!/bin/bash

echo -n 'prompt> '
while IFS= read -r cmd
do
    echo "got >$cmd<"
    echo -n 'prompt> '
done

一个示例会话:

$ ncat localhost 7896
prompt> Hello world
got >Hello world<
prompt> <CTRL-D>
$

推荐阅读