跟着红队笔记学习 tmux:渗透测试中的多终端利器

news2024/11/23 3:39:40

内容预览 ≧∀≦ゞ

  • 跟着红队笔记学习 tmux:渗透测试中的多终端利器
    • 进入 tmux 前的准备
    • tmux 概念简介
    • tmux 基础操作
      • 会话管理命令
      • 会话管理快捷键
      • 会话内和会话外命令的区别
    • tmux 窗口和面板管理
      • 新建和管理窗口
      • 分割窗口为面板
      • 切换面板
      • 面板放大与恢复
      • 调整面板大小
      • 关闭面板
    • 分屏状态下的历史查看与内容复制问题
    • tmux 配置文件快速上手
    • 总结

跟着红队笔记学习 tmux:渗透测试中的多终端利器

在渗透测试过程中,我们常常需要同时监控多个终端,每个终端可能都在执行不同的任务:有的用来查看信息,有的用于连接服务器,有的负责监听端口,等等。tmux 是一个强大的终端复用工具,能够帮助我们高效地管理这些任务。它支持将多个会话和窗口整合在一个界面中,支持多种分屏布局,还能够保持会话独立。此外,tmux 自带于 Kali Linux 中,因此,其非常适合渗透测试环境。本文将带你系统学习 tmux 的核心概念与操作技巧,带你快速上手。


进入 tmux 前的准备

在启动 tmux 会话之前,建议先进入目标工作目录。因为在 tmux 内新建的所有窗口和面板都会继承启动时的工作目录,这样可以减少手动切换路径的繁琐操作。

tmux 概念简介

tmux 的工作机制可以分为三大部分:会话(Session)、窗口(Window)和面板(Pane)。每个部分都有其独特功能和作用:

  • 会话(Session):一个独立的工作实例。每个会话可以包含多个窗口,且可以独立于其他会话运行。即使 SSH 连接断开,tmux 也能保持会话的完整状态,保障程序不会中断。重新连接时,只需恢复会话即可。
  • 窗口(Window):会话中的窗口类似于多标签页,允许在同一会话中分割出不同的任务区。每个窗口可以包含多个面板,并且可以随时切换。
  • 面板(Pane):窗口中的分屏区域,每个面板都可以执行不同的任务。你可以在一个窗口中分割出多个面板,以便在同一屏幕下查看和操作多个任务。

会话 > 窗口 > 面板

tmux 基础操作

tmux 中,管理会话是核心功能之一,掌握会话管理能极大提高操作效率。以下是 tmux 常用的会话管理命令和快捷键:

会话管理命令

  • 新建会话

    • 命令:tmux new -s <会话名> [-n 窗口名]
    • 说明:新建一个指定名称的会话,可选参数 -n 用于指定初始窗口的名称。
    • 使用场景:在终端外新建 tmux 会话,便于将不同任务组织在独立的会话中。
  • 恢复会话

    • 命令:tmux attach -t <会话名>tmux at -t <会话名>
    • 说明:恢复到已存在的会话,让你重新回到之前的工作环境。
    • 使用场景:当暂时离开会话后,通过该命令继续之前的工作,避免重新配置窗口和窗格。
  • 列出所有会话

    • 命令:tmux ls
    • 说明:查看当前所有的会话及其状态,显示会话名、窗口数等信息。
    • 使用场景:有多个会话时,列出所有会话帮助定位特定会话的名称和状态。
  • 删除会话

    • 命令:tmux kill-session -t <会话名>
    • 说明:关闭指定的会话,释放资源。
    • 使用场景:在会话任务完成后手动删除不再需要的会话。
  • 关闭所有会话

    • 命令:tmux kill-server
    • 说明:彻底关闭 tmux 服务及所有会话。
    • 使用场景:退出 tmux 前清理所有会话,非常适合不再需要保持任何会话时使用。

会话管理快捷键

tmux 会话内有大量的快捷键,所有快捷键都要通过前缀键唤起。默认的前缀键是Ctrl + b,按下后会进入命令模式。以下是一些常用的会话管理快捷键:

  • 分离当前会话Ctrl + b 后按 d或者输入 tmux detach
    • 将当前会话转为后台运行,允许你暂时离开而不终止会话,稍后可以通过恢复会话继续工作。
  • 重命名当前会话Ctrl + b 后按 $
    • 弹出重命名提示,允许你为当前会话指定一个更易于识别的名称。
  • 列出所有会话Ctrl + b 后按 s
    • 显示当前所有会话的列表,便于选择并切换到其他会话。

这些快捷键中第一个比较常用,其他的相对比较少用。

会话内和会话外命令的区别

  • 会话外命令:通过在终端中直接使用 tmux 命令(如 tmux new -s <会话名>)新建、恢复、删除会话。这类命令通常用于管理会话的创建和整体操作。

  • 会话内命令:在进入 tmux 会话后,通过前缀键 Ctrl + b 激活 tmux 的命令模式,举例来说,帮助命令的快捷键是Ctrl+b ?。它的用法是,在 tmux 窗口中,先按下Ctrl+b,再按下?,就会显示帮助信息。按下ESC键或q键,就可以退出帮助。会话内命令一般用于管理窗格、窗口切换等会话内操作。

在这里插入图片描述在掌握了上述基础操作后,大家可能会好奇,如何实现如图所示的终端布局效果呢?别急,接下来让我们进入 tmux 的进阶操作部分——窗口与面板管理。

tmux 窗口和面板管理

tmux 中,窗口和面板是实现多任务处理的核心。它们允许用户在同一会话中高效地分隔和管理不同的任务或项目。以下是窗口和面板管理的一些方法和技巧:

新建和管理窗口

tmux 允许在同一会话中创建多个窗口,这非常适合分隔不同的任务或项目。以下是一些常用的窗口管理快捷键:

  • 新建窗口Ctrl + bc

    • 这个命令会在当前会话中创建一个新的窗口,便于开展新任务。
  • 重命名窗口Ctrl + b,

    • 此操作允许用户为当前窗口指定一个更易于识别的名称,适合用于标记任务或项目。
  • 切换窗口

    • 下一个窗口Ctrl + bn
    • 上一个窗口Ctrl + bp
    • 指定窗口Ctrl + b数字
    • 选择窗口列表Ctrl + bw
      • 显示所有窗口的列表,便于选择并切换到特定窗口。
  • 删除窗口Ctrl + b&

分割窗口为面板

虽然 Kali Linux 自带的终端也支持分屏功能,但 tmux 的分屏功能更加灵活和强大。通过分割窗口,可以在同一屏幕中显示多个任务,支持以下分割方式:

  • 水平分割Ctrl + b 后按 "
  • 垂直分割Ctrl + b 后按 %

为了更方便地记忆,可以将分割命令重新绑定为更直观的快捷键:

bind | split-window -h  # 水平分割
bind - split-window -v  # 垂直分割

只需按 Ctrl + b 后再按 |-,即可快速在窗口内进行水平或垂直分割。

建议布局:可以先水平分割,再进行垂直分割,根据实际工作需要灵活调整面板布局,形成符合个人操作习惯的分屏风格。

切换面板

在多个面板间的切换操作简便而高效:

  • 方向键切换Ctrl + b,然后使用方向键选择目标面板
  • 快速切换Ctrl + bo
    • 在面板间循环切换,适合快速浏览各个面板。

使用 o 快捷键切换面板,可避免使用方向键,尤其适合希望保持手指在主键盘区域的用户。

面板放大与恢复

当某个面板需要更大空间进行操作时,可以将其放大为全屏,再切换回来:

  • 放大/恢复面板Ctrl + bz
    • 这个命令可以让当前面板填满整个窗口,便于专注于重要任务。

调整面板大小

在多面板布局下,调整面板的大小以满足不同的工作需求:

  • 常规调节Ctrl + bAlt + 方向键

  • 精细调节Ctrl + bCtrl + 方向键

关闭面板

对于不再需要的面板,可以快速关闭,以保持工作区的整洁:

  • 关闭面板:在目标面板中输入 exit 并回车,即可关闭当前面板。

  • 快速关闭当前面板Ctrl + bx

    • 此操作将弹出确认对话框,确认后即可关闭当前面板。

通过上述管理窗口和面板的技巧,tmux 用户能够高效地进行多任务处理,提升工作效率。

分屏状态下的历史查看与内容复制问题

在分屏状态下,查看屏幕上方的历史信息或复制内容时,直接滚动鼠标往上可能无法生效,可以通过以下操作实现复制:

  • 鼠标复制:按住 Shift 键并用鼠标选择内容,选中后可右键或使用 Ctrl + Shift + C 完成复制。

  • 全屏复制:当窗口内存在多个面板时,复制操作可能会包括其他面板内容。为避免这种情况,可先将目标面板放大(Ctrl + b, z),执行复制后再按 Ctrl + b, z 恢复面板原状。

此外,tmux 还带有功能丰富的复制模式,受限于篇幅本文不再详细展开,感兴趣的小伙伴可以自行探索这一功能。

tmux 配置文件快速上手

在使用 tmux 时,通过合理配置可以显著提升日常体验。tmux 的配置文件位于 ~/.tmux.conf,我们可以将常用设置写入该文件来持久优化使用体验。

进入 tmux 后,按下 <prefix> 键(默认 Ctrl + b,或自行配置的其他前缀),然后按大写 R 即可重新加载配置文件。也可以直接运行以下命令:tmux source ~/.tmux.conf

下面是我的推荐配置文件,供大家参考:

# 修改前缀键为 Control-A
set -g prefix C-a

# 窗口和窗格编号从 1 开始,符合习惯
set -g base-index 1
set -g pane-base-index 1

# 美化当前窗口风格,便于识别活动窗口
set -g window-status-current-format '🐹#{window_index}:#{b:pane_current_path}'

# 启用鼠标支持,方便面板切换和调整
set -g mouse on

# 删除窗口后自动重新编号,保持编号连续
set -g renumber-windows on

# 禁止自动命名窗口,确保名称稳定
setw -g automatic-rename off
setw -g allow-rename off

# 使用 vi 键位进入复制模式,适合习惯 vi 的用户
setw -g mode-keys vi

# 添加窗口分割快捷键
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"

# 设置终端为 256 色
set -g default-terminal "screen-256color"

# 使用 vim 风格的上下左右键选择窗格
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

在修改前缀键时,请谨慎选择,确保避免与常用快捷键冲突,以免影响日常操作。


总结

tmux 是一款强大的终端复用工具,适合需要多任务处理的渗透测试人员。掌握 tmux 的基础操作和分屏技巧,不仅能提高渗透测试的工作效率,还能优化工作流程。如果你还没有尝试过 tmux,不妨跟随本文一起动手实操一次,感受一下它的强大功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2230389.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器数据恢复—DELL EqualLogic PS6100系列存储简介及如何收集故障信息?

DELL EqualLogic PS6100系列存储采用虚拟ISCSI SAN阵列&#xff0c;支持VMware、Solaris、Linux、Mac、HP-UX、AIX操作系统&#xff0c;提供全套企业级数据保护和管理功能&#xff0c;具有可扩展性和容错功能。DELL EqualLogic PS6100系列存储介绍&#xff1a; 1、上层应用基础…

【力扣】Go语言回溯算法详细实现与方法论提炼

文章目录 一、引言二、回溯算法的核心概念三、组合问题1. LeetCode 77. 组合2. LeetCode 216. 组合总和III3. LeetCode 17. 电话号码的字母组合4. LeetCode 39. 组合总和5. LeetCode 40. 组合总和 II小结 四、分割问题6. LeetCode 131. 分割回文串7. LeetCode 93. 复原IP地址小…

【深度学习】实验 — 动手实现 GPT【三】:LLM架构、LayerNorm、GELU激活函数

【深度学习】实验 — 动手实现 GPT【三】&#xff1a;LLM架构、LayerNorm、GELU激活函数 模型定义编码一个大型语言模型&#xff08;LLM&#xff09;架构 使用层归一化对激活值进行归一化LayerNorm代码实现scale和shift 实现带有 GELU 激活的前馈网络测试 模型定义 编码一个大…

基于springboot+vue车辆充电桩管理系统

基于springbootvue车辆充电桩管理系统 摘 要 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;车辆充电桩管理系统也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;…

WordPress网站添加嵌入B站视频,自适应屏幕大小,取消自动播放

结合bv号 改成以下嵌入式代码&#xff08;自适应屏幕大小,取消自动播放&#xff09; <iframe style"width: 100%; aspect-ratio: 16/9;" src"//player.bilibili.com/player.html?isOutsidetrue&bvidBV13CSVYREpr&p1&autoplay0" scrolling…

BLG与T1谁会赢?python制作预测程序,结果显示,BLG将打败T1

决赛预测 2024英雄联盟全球总决赛 2024年英雄联盟全球总决赛&#xff0c;今天晚上&#xff08;2024年11月2日22点&#xff09;就要开始了&#xff01;今年的总决赛的队伍是BLG与T1。当然一些老的lol玩家&#xff0c;现在可能对于lol关注不多&#xff0c;并不清楚这两个队伍。…

AI-基本概念-向量、矩阵、张量

1 需求 需求&#xff1a;Tensor、NumPy 区别 需求&#xff1a;向量、矩阵、张量 区别 2 接口 3 示例 4 参考资料 【PyTorch】PyTorch基础知识——张量_pytorch张量-CSDN博客

【笔面试常见题:三门问题】用条件概率、全概率和贝叶斯推导

1. 问题介绍 三门问题&#xff0c;又叫蒙提霍尔问题&#xff08;Monty Hall problem&#xff09;&#xff0c;以下是蒙提霍尔问题的一个著名的叙述&#xff0c;来自Craig F. Whitaker于1990年寄给《展示杂志》&#xff08;Parade Magazine&#xff09;玛丽莲沃斯莎凡特&#x…

Core日志 Nlog

资料 资料 资料 直接在NuGet里面搜索NLog.Web.AspNetCore&#xff0c;然后进行安装即可&#xff0c;

使用form表单的action提交并接收后端返回的消息

使用form表单的action提交表单是同步提交的方式&#xff0c;会跳转页面&#xff0c;所以无法获取后端返回来到消息。这样描述或许没有太大感觉&#xff0c;如果我要通过表单的方式上传文件&#xff0c;并接收后台返回来的响应数据&#xff1b;这样说是不是就感同深受了呢。 1.…

从障碍到流畅:提升远程团队沟通的最佳实践

远程工作模式带来了地理和时间上的灵活性&#xff0c;但同时也引入了一些沟通障碍。这些障碍可能导致信息传递不畅、合作效率低下&#xff0c;甚至影响团队成员之间的关系。解决远程团队的沟通障碍需要一系列综合策略的实施&#xff0c;包括利用高效的技术工具、建立明确的沟通…

鸿蒙进阶篇-Swiper组件的使用

“在科技的浪潮中&#xff0c;鸿蒙操作系统宛如一颗璀璨的新星&#xff0c;引领着创新的方向。作为鸿蒙开天组&#xff0c;今天我们将一同踏上鸿蒙基础的探索之旅&#xff0c;为您揭开这一神奇系统的神秘面纱。” 各位小伙伴们我们又见面了,我就是鸿蒙开天组,下面让我们进入今…

【PTA】4-2 树的同构【数据结构】

给定两棵树 T1​ 和 T2​。如果 T1​ 可以通过若干次左右孩子互换就变成 T2​&#xff0c;则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的&#xff0c;因为我们把其中一棵树的结点A、B、G的左右孩子互换后&#xff0c;就得到另外一棵树。而图2就不是同构的。 图一…

《女巫攻击:潜伏在网络背后的隐秘威胁与防御策略》

目录 引言 一、基本概念 二、攻击机制 三、Sybil攻击类型 1、直接通信 2、间接通信 3、伪造身份 4、盗用身份 5、同时攻击 6、非同时攻击 四、攻击影响 五、防御措施 总结 引言 随着区块链技术和去中心化网络的迅速发展&#xff0c;网络安全问题也愈发引起关注。其…

华为 HCIP-Datacom H12-821 题库 (41)

&#x1f423;博客最下方微信公众号回复题库,领取题库和教学资源 &#x1f424;诚挚欢迎IT交流有兴趣的公众号回复交流群 &#x1f998;公众号会持续更新网络小知识&#x1f63c; 1. 在组播中&#xff0c;&#xff08; &#xff09;模型针对特定源和组的绑定数据流提供服务&…

Day08只出现一次的数字

给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使用常量额外空间。 class Solution {public int singleNum…

【linux 多进程并发】0302 Linux下多进程模型的网络服务器架构设计,实时响应多客户端请求

0302 多进程网络服务器架构 ​专栏内容&#xff1a; postgresql使用入门基础手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 一、概…

vue3+vant实现视频播放(含首次禁止进度条拖拽,视频看完后恢复,保存播放视频进度,刷新及下次进入继续播放,判断视频有无全部看完等)

1、效果图 2、 <div><videocontrolsclass"video_player"ref"videoPlayer":src"videoSrc"timeupdate"handleTimeUpdate"play"onPlay"pause"onPause"ended"onVideoEnded"></video><…

C++设计模式创建型模式———简单工厂模式、工厂方法模式、抽象工厂模式

文章目录 一、引言二、简单工厂模式三、工厂方法模式三、抽象工厂模式四、总结 一、引言 创建一个类对象的传统方式是使用关键字new &#xff0c; 因为用 new 创建的类对象是一个堆对象&#xff0c;可以实现多态。工厂模式通过把创建对象的代码包装起来&#xff0c;实现创建对…

【数据库系统概论】第3章 关系数据库标准语言SQL(二)数据查询(超详细)

目录 一、单表查询 1. 简单的数据查询 &#xff08;1&#xff09;选择表中若干列 &#xff08;2&#xff09;选择表中若干行&#xff08;元祖&#xff09; 2. 聚合函数与分组查询 聚集函数 GROUP BY分组查询 二、联接查询 1、连接概述 2. 内联接&#xff08;INNER JO…