0x00 前言
终端复用技术的学习与记录,这里主要介绍了两款,分别是 tmux 和 screen 。
0x01 演示
我们通常在操作Linux的时候会遇到这种情况,比如因为某些原因在操作Linux虚拟终端进行下载的时候突然会话卡了或者直接断了。
或者关闭终端,但是进程还想让他继续运行,这时候虽然可以使用nohup但是还是不是很方便。
而我们在渗透测试的时候,在VPS上需要搭建MSF、CS等远程工具,这时候会遇到一个问题,运行这些工具在关闭终端后不能继续运行。
比如MSF监听器,如何建立一个持久的监听器让它随时接收我们的session。
或者CS的teamserver长期的运行在服务器上。
这里也就需要用到终端复用技术。
首先先来mark下终端复用技术的介绍:
终端复用器(Terminal Multiplexer)是用于复用多个虚拟终端的应用软件,允许用户在一个终端窗口中访问多个单独的登陆会话,或者从终端分离和重新连接会话。
常用的终端复用器应该有这些: Emacs, Vim, Byobu, DVTM, mtm, Neercs, Terminator, Tmux, Tmuxinator, Twin, Screen。
下面就介绍 tmux 和 screen 这两款工具。
screen
安装:
CentOS/RedHat/Fedora
yum -y install screen
Ubuntu/Debian
apt-get -y install screen
常用命令:
查看所有会话:
screen -ls
创建会话(-m 强制):
screen -dmS name
这里就已经创建了一个名为name的会话。
进入会话:
screen -r name
远程deatch某个会话(暂时离开某session)
screen -d (screen -d yourname )
退出当前的会话保持程序运行
ctrl+a+d
如果想杀死一个已经detached的screen会话,可以使用以下命令:
screen -X -S [session you want to kill] quit
这里使用命令kill掉我们刚才创建的会话。成功!
screen -X -S 1488 quit
tmux
关于tumux看了阮一峰大佬的一篇文章tmux使用教程,很详细。
安装:
# Ubuntu 或 Debian
$ sudo apt-get install tmux
# CentOS 或 Fedora
$ sudo yum install tmux
# Mac
$ brew install tmux
常用命令:
tmux new -s session1 # 新建会话
tmux ls # 终端环境查看会话列表
tmux a -t session1 # 从终端环境进入会话
tmux kill-session -t session1 # 销毁会话
tmux rename -t old_session_name new_session_name # 重命名会话
ctrl+b s: # 会话环境查看会话列表
ctrl+b d: # 退出会话,回到shell的终端环境 //tmux detach-client
ctrl + b $: # 重命名会话 (在会话环境中)
有关操作可以学习下阮一峰大佬的文章。
0x02 总结
这两个工具都很好用,感觉tmux可能要更强大一点。
但是对我个人而言,screen可能就够用了,常用做MSF监听器的持久化接收session。还有其他很多用途,大佬们可以研究下,欢迎与本人交流各种安全技术。
原文作者:Keefe
原文链接:终端复用技术的学习记录
版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可