我有一个开发服务器,只能从 127.0.0.1:8000 访问,不能从 192.168.1.x:8000 访问。作为一个快速的黑客,有没有办法设置一些东西来监听另一个端口(比如 8001),这样我就可以从本地网络连接 192.168.1.x:8001 并且它会在客户端和 127.0 之间建立流量隧道.0.1:8000?
我正在审查 unix 管理员提出的一组面试问题;我找到了一个名为“命名管道”的主题。
我用谷歌搜索了这个话题;在某种程度上我已经能够理解它:-命名管道 || 先进先出
但我仍然觉得我缺乏什么时候使用这种特殊类型的管道的知识。是否存在未命名管道无法工作的特殊情况?
在手册页中sshd_config,对于该AllowTCPForwarding选项,它指出:
允许Tcp转发
指定是否允许 TCP 转发。默认值为“是”。请注意,除非用户也被拒绝 shell 访问,否则禁用 TCP 转发不会提高安全性,因为他们始终可以安装自己的转发器。
有人可以详细说明吗?我不明白有人如何安装自己的转发器来规避 TcpForwarding。是否必须安装各种代理服务器,然后创建到远程代理服务器的隧道?
当我们使用 POSIX shell 运行它时,
$ cmd0 | cmd1
Run Code Online (Sandbox Code Playgroud)
cmd0 的 STDOUT 通过管道传输到 cmd1 的 STDIN。
问:除此之外,我还如何将 cmd1 的 STDOUT 通过管道传输到 cmd0 的 STDIN?
必须使用重定向自/进入命名管道 (FIFO) 吗?我不太喜欢命名管道,因为它们占用了一些文件系统路径,我需要担心名称冲突。或者我必须通过 C、Python 或一些通用编程语言调用 pipe(2) 吗?
(cmd0 和 cmd1 都执行一些网络 I/O,因此它们不会永远相互阻塞。)