gpt4 book ai didi

shell - 通过 netcat session 的 vi

转载 作者:行者123 更新时间:2023-12-01 23:45:40 24 4
gpt4 key购买 nike

是否可以通过 netcat 使用 vi?

服务器:

mkfifo tun; sh tun | netcat -l 4444 > tun

客户:
netcat SERVER_IP 4444

会给我远程shell,但是发送特殊的热键是个问题,比如我不能按 电调在 vi 中进入“正常模式”。

或者最好的选择将是 sed ?

最佳答案

此命令将来自 nc 的输入作为脚本运行,它会失败,原因与此脚本不会编辑文件的原因相同:

#!/bin/sh
vi file
42G
dd
:wq

具有讽刺意味的是,您可以改为使用 script避免将其作为脚本运行,而是获取终端 session 以与之交互:
server$ mkfifo tun; script -q < tun | netcat -l 4444 > tun

(一些 netcat 在上面的端口之前需要 -p)

此外,您应该禁用本地回显和行缓冲,以便键立即通过连接,而不是在按下 Enter 键时:
client$ stty -icanon -echo; nc localhost 4444

您现在应该可以在 vi 中编辑文件了.

这显然只是一个简洁的概念证明。想要通过网络提供强大的 shell 访问的非 root 用户应该使用 sshd .

关于shell - 通过 netcat session 的 vi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29317933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com