【问题标题】:redirect the ouput of command into a socket on linux将命令的输出重定向到linux上的套接字
【发布时间】:2019-07-19 05:05:45
【问题描述】:

我正在使用 netcat 连接到服务器。
问题是我想将一些不可打印的内容发送到服务器字符。
我想通过 linux 中的命令重定向来实现这一点。
假设这是命令:nc hostname port
因此,当我检查文件夹中命令 nc 的文件描述符时:cd /proc/$(pidof nc)/fd 看到有另一个编号为 3 的 fd 与套接字有关。 3 -> socket:[1675643] 问题是我想将echo -ne '\xff\x0f\xab\xde' > ./3 的输出重定向到套接字。
我不能这样做,输出是:bash: ./3: No such device or address

【问题讨论】:

  • echo -ne '\xff\x0f\xab\xde' | nc hostname port 呢?
  • 不,我不能这样做,因为我不知道在建立连接之前将什么作为主机名的输入,因为在那之后它会打印一个带有我要去的地址的味精用于利用缓冲区溢出,这是挑战的一部分。所以在主机名与我分享这个地址之前,我不知道该输入什么
  • 考虑使用expect工具。

标签: linux bash sockets io-redirection netcat


【解决方案1】:

不能将某些东西输出到只能由另一个进程打开的套接字。

为了首先使用交互式输入/输出然后发送回显字符串,您可以这样做:

(cat; echo -ne '\xff\x0f\xab\xde')|nc <i>hostname port</i>

(按 EOF 字符 Ctrl-D 结束输入并开始echo)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 2012-11-01
    • 1970-01-01
    相关资源
    最近更新 更多