不确定这是否属于此处、StackOverflow 或 SuperUser。
我有一台运行反向 telnet 服务器的设备,我需要能够向该服务器发送/接收数据。如果我像这样运行 socat 并 telnet 到端口 8002,我就可以玩它:
sudo socat TCP-LISTEN:8001 TCP-LISTEN:8002
但是,它会发送不应该发送的信息,我正在尝试使用 sed 过滤掉这些数据。我希望这种通信保持双向(也就是说,我在 localhost:8002 上输入 telnet 的任何内容都会通过 localhost:8001 发送出去,反之亦然)。
我尝试使用包含以下内容的 bash 脚本:
#!/bin/bash
sed (my regex here) | socat - TCP-LISTEN:8002
然后运行:
sudo socat TCP-LISTEN:8001 SYSTEM:./replace.sh
但这在 telnet 控制台中没有任何输出。我也尝试EXEC:
过同样的事情没有发生。
我什至尝试过:
sudo socat TCP-LISTEN:8001 "SYSTEM:'sed (my regex here)' || TCP-LISTEN:8002"
没有效果。