学习项目,目标是实现一个简单的 telnet 功能(远程执行命令)。但是第一步就出现了问题。主要代码如下:
https://gist.github.com/Lua12138/7cf05e84ee30adde582f78f0c4a62103
通过这样的代码,我发现,如果执行不需要交互的命令,一切都符合预期,但执行需要交互命令行,比如 bash/base64 这样的命令行,就出现了预期外结果。
如果执行 bash ,那么在客户端(下半部分代码),后续输入任何命令行都会提示: not found/sh: <stdin>[2]: ls
,而其他命令,应该如何通过网络发送过去^D 这样的控制符呢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.