linux下反弹shell的原理浅析

反弹shell文件描述符与重定向

在这里最难理解的就是文件描述符和重定向这两部分

先来讲一下linux的文件描述符,什么是文件描述符,

在linux系统中将所有设备都当做文件来处理,而linux文件描述符用来标识每个文件对象,在我理解中就是描述符用来指定对象的,这样才能井然有序的运行。在linux系统中就连输入设备和输出设备都被当成是文件来处理就拿显示器和键盘输入都拿来当成文件处理,他们都有相应的文件描述符与之相对应。

Linux启动时会默认打开三个文件描述符:

标准输入standard input 0 (默认设备键盘)
标准输出standard output 1(默认设备显示器)
错误输出:error output 2(默认设备显示器)

这些描述符是默认开启的,之后再打开文件的话描述符会依次增加。一条shell命令,都会继承其父进程的文件描述符,所以所有的shell命令都会有这三个默认的描述符。

我来解释一下0,1,2分别的指向,这样会更好理解一点:

0可以理解为我们在与计算机进行交互时的输入,而这个输入默认是指向键盘的

1可以理解为我和计算机交互时的输出,而这个输出默认指向显示器的,也就是我们的屏幕显示。

2可以理解为我和计算机交互时,计算机出现错误的输入,指向的位置和1的是同一位置,都是显示器

文件的所有输入输出都是有该进程的所有打开的文件描述符来控制的(怎么理解呢,默认的都是有上面介绍的一样,0就是键盘输入,1就是输出在显示器上,如果我将我的输入不显示在显示器上而显示在某个文件中,也是利用描述符来规定的,只需要将描述符1重定向到你要输出的文件中)

接下来就来理解如何操作。

Linux中重定向的理解

重定向字面意思就是重新规定一个方向,这里的意思与Linux中大致相同,也差不多是这个意思。

Linux中重定向分为两种:

输入重定向 <

输出重定向 >

重点:

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leng_tian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值