相关疑难解决方法(0)

/dev/tcp 监听而不是 nc 监听

使用 netcat 侦听器,例如:

nc -l <port> < ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

我可以在一台新机器(没有nc或 LDAP)上抓取我的 .bashrc :

cat < /dev/tcp/<ip>/<port> > ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

我的问题是:有没有办法nc -l <port>用 /dev/tcp 而不是模仿我第一行中的功能nc

我正在使用的机器是极其坚固的实验室/沙盒环境 RHEL(没有 ssh,没有 nc,没有 LDAP,没有 yum,我无法安装新软件,而且它们没有连接到互联网)

shell bash rhel io-redirection netcat

40
推荐指数
2
解决办法
4万
查看次数

我如何来到这个 pty,我可以用它做什么?

似乎来自一个简单的 shell 重定向为/dev/ptmx我提供了一个新的伪终端。

$ ls /dev/pts; ls /dev/pts </dev/ptmx
0  1  2  ptmx
0  1  2  3  ptmx
Run Code Online (Sandbox Code Playgroud)

一旦拥有 fd 声明的进程/dev/ptmx退出,它就会消失,但保留它很简单:

$ PS1='<$(ls -1 "$@" /dev/pts/*|uniq -u)> $ ' \
  exec 3<>/dev/ptmx "$0" -si -- /dev/pts/*
</dev/pts/3> $ ls /dev/pts; exec 3>&-
0  1  2  3  ptmx
<> $ ls /dev/pts; exec 3<>/dev/ptmx
0  1  2  ptmx
</dev/pts/3> $ exit
Run Code Online (Sandbox Code Playgroud)

所以看起来简单的open()/dev/ptmx足以得到一个伪终端。我想这会使 shell - (或它进行重定向的进程) - pty 主端的所有者。

但是我如何分配从属端 - 或者我可以分配从属端?如果可以的话——我能用它做什么?我可以影响它的读/写/刷新时间 …

shell terminal io-redirection tty pty

6
推荐指数
1
解决办法
3703
查看次数

标签 统计

io-redirection ×2

shell ×2

bash ×1

netcat ×1

pty ×1

rhel ×1

terminal ×1

tty ×1