当前位置: 首页 > news >正文

docker +tmux 远程本地gdb调试

文章目录

  • 远程调试
  • docker pull失败
  • docker上容器运行程序失败
  • 宿主机远程调试docker中运行的程序
      • 环境准备
      • 调试步骤
  • 本地调试
  • bug
  • pwngdb+tmux
  • Tmux复制粘贴到其他地方
  • pwngdb和tmux优化
  • ~~感觉用了大佬的镜像后宿主机来做pwn题都不香了~~

远程调试

但目前不知道如何实现可以边跟着脚本运行调试的方法

docker pull失败

https://wiki.bafangwy.com/doc/413/

docker上容器运行程序失败

https://blog.csdn.net/qq_46106285/article/details/124946919

宿主机远程调试docker中运行的程序

https://www.roderickchan.cn/zh-cn/2023-02-13-%E4%BD%BF%E7%94%A8docker%E8%B0%83%E8%AF%95pwn%E9%A2%98/#0x3-%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7

环境准备

  1. 容器中的准备

    • 安装gdbserver:首先,在Docker镜像中需要安装gdbserver。这通常通过在Dockerfile中添加相应的安装命令(如RUN apt-get update && apt-get install -y gdbserver对于基于Debian的镜像)来完成。
  2. 宿主机上的准备

    • 安装GDB:确保你的宿主机上安装了GDB,这是调试器的客户端部分,将用来远程操控容器中运行的程序。
    • 可执行文件或符号文件:宿主机上需要有与容器中待调试程序对应的可执行文件或调试符号文件。这是因为GDB在宿主机上运行时,需要这些信息来解析和展示调试信息。

调试步骤

  1. 启动容器并映射端口: 选择roderick师傅的容器直接调试了
    https://hub.docker.com/r/roderickchan/debug_pwn_env/tags
docker run -it --rm -v host_path:container_path -p host_port:container_port --cap-add=SYS_PTRACE IMAGE_ID /bin/bash
  1. 在容器中启动gdbserver:进入容器后,使用gdbserver附加到你想调试的程序,并指定监听的端口。例如,如果你的程序名为my_program,命令如下:

    gdbserver localhost:12345 my_program
    

    这会让gdbserver在容器中启动你的程序,并监听2345端口等待来自GDB的连接。

  2. 在宿主机上使用GDB连接:打开宿主机上的终端,使用GDB连接到容器中的gdbserver。你需要指定宿主机上的可执行文件路径(即使实际运行在容器中)和目标远程地址及端口:

    gdb -ex 'target remote 127.0.0.1:12345' /path/to/your_program
    

    /path/to/your_program应当是宿主机上与容器中相同的程序副本或符号文件,确保GDB能够识别并加载正确的调试信息。

  3. 开始调试:一旦连接成功,你就可以在宿主机的GDB中设置断点、单步执行、查看变量等,就像直接在本地调试程序一样。

本地调试

启动容器并映射端口: 选择roderick师傅的容器直接调试了
https://hub.docker.com/r/roderickchan/debug_pwn_env/tags

docker run -it --rm -v host_path:container_path -p host_port:container_port --cap-add=SYS_PTRACE --privileged IMAGE_ID /bin/bash

数据卷挂载-v host_path:container_path使得在宿主机上对文件修改在docker也生效,然后在docker中调试运行,在宿主机修改这个文件夹或者文件

bug

Could not find a terminal binary to use. Set context.terminal to your terminal
然后在容器中执行./exp.py就行了

pwngdb+tmux

# 绑定Ctrl+a为新的指令前缀
set -g prefix C-a# 从tmux v1.6版起,支持设置第二个指令前缀, 设置一个不常用的`键作为指令前缀,按键更快
set-option -g prefix2 `# 修改分屏快捷键
unbind '"'
bind - splitw -v -c '#{pane_current_path}' # 垂直方向新增面板,默认进入当前目录
unbind %
bind | splitw -h -c '#{pane_current_path}' # 水平方向新增面板,默认进入当前目录# 设置面板大小调整快捷键
bind j resize-pane -D 5
bind k resize-pane -U 5
bind h resize-pane -L 5
bind l resize-pane -R 5# 刷新配置文件
bind R run-shell "tmux source-file ~/.tmux.conf"# 上一个窗口
bind a last-window

https://louiszhai.github.io/2017/09/30/tmux/

  • 先按下Ctrl+a并松开,再按下?,就会显示帮助信息。然后,按下 ESC 键或q键,就可以退出帮助
  • Ctrl+a :光标切换到其他窗格
  • Ctrl+a hjkl:调整当前所在窗格大小
  • Ctrl+a a::切换到上一个窗口
  • Ctrl+a | 水平方向增加窗格
  • Ctrl+a - 垂直方向增加窗格
  • 赋值:直接鼠标选择内容就行
  • 粘贴:Ctrl+a +]

Tmux复制粘贴到其他地方

https://cn.linux-console.net/?p=15192
在这里插入图片描述

pwngdb和tmux优化

https://bbs.kanxue.com/thread-276203.htm

感觉用了大佬的镜像后宿主机来做pwn题都不香了

相关文章:

docker +tmux 远程本地gdb调试

文章目录 远程调试docker pull失败docker上容器运行程序失败宿主机远程调试docker中运行的程序环境准备调试步骤 本地调试bugpwngdbtmuxTmux复制粘贴到其他地方pwngdb和tmux优化~~感觉用了大佬的镜像后宿主机来做pwn题都不香了~~ 远程调试 但目前不知道如何实现可以边跟着脚本…...

计算机视觉全系列实战教程 (十三):图像形态学操作

1.基本概述 (1)What 图像的形态学操作的本质:集合间的运算 几何学 (2)Why(有什么用途) 消除噪声、边缘提取、区域填充、细化和粗化、分割独立的图像元素、求图像梯度、求极大值区域或极小值区域等。 (3)Which(有哪些常见的形态学操作) A.膨胀 使得…...

python的 pyside2 安装

pip install pyside2 pip install pyqt5-tools pycharm 在pychar 的Main Menu--setings--tool--External-tools 点击 新增自定义工具 1)自定义 QtDesigner 目的:用于生成.ui文件Name :QtDesigner Group :Qt Program &a…...

R语言——数据与运算

练习基本运算&#xff1a; v <- c(2,4,6,9)t <- c(1,4,7,9)print(v>t)print(v < t)print(v t)print(v!t)print(v>t)print(v<t) v <- c(3,1,TRUE,23i)t <- c(4,1,FALSE,23i)print(v&t)print(v|t)print(!v)v <- c(3,0,TRUE,22i)t <- c(1,3,T…...

非强化学习的对齐方法

在文章《LLM对齐“3H原则”》和《深入理解RLHF技术》中&#xff0c;我们介绍了大语言模型与人类对齐的“3H原则”&#xff0c;以及基于人类反馈的强化学习方法&#xff08;RLHF&#xff09;&#xff0c;本文将继续介绍另外一种非强化学习的对齐方法&#xff1a;直接偏好优化&am…...

写一个坏越的个人天地(三)

昨天卡巴卡巴还是投出了学习代码以来的第一份简历,遇到好的岗位还是想争取下的吧,虽然我觉得大概率还是gg了。 昨天完成了首页的上半部分 下半部分我的构思是左右栏,左侧为菜单栏,右侧为业务栏,左侧调整右侧router进行切换内容 可以用来展示js css的小demo 稍微调整下ro…...

【学习笔记】CSS

CSS 1、 基础篇 1.1、选择器 1.2、长度单位 1.3、CSS2 常用属性 1.4、盒模型 1.5、浮动 1.6、定位 position2、 CSS3 2.1、新增长度单位 2.2、新增颜色表示 2.3、新增选择器 2.4、新增盒子属性 2.5、新增背景属性 …...

与亚马逊云科技深度合作,再获WAPP、ISV认证

上半年&#xff0c;VERYCLOUD睿鸿股份加入亚马逊云科技的WAPP&#xff08;Well-Architected Partner Programs&#xff09;和ISV加速计划&#xff08;ISV Accelerate Program&#xff09;&#xff0c;为客户带来更坚实优质的海外云服务。 Well-Architected 获得WAPP这项认证代表…...

idea 如何查看项目启动的端口号

方式一&#xff1a;查看Run/Debug Configurations: 打开IntelliJ IDEA&#xff0c;点击菜单栏的Run&#xff0c;然后选择Edit Configurations...&#xff0c;或者直接使用快捷键&#xff08;通常是Shift Alt F10然后选择Edit Configurations&#xff09;。 在打开的Run/Debug…...

年薪超过30万的网工,需要具备什么技能?

网工是一个各行各业都需要的职业&#xff0c;工作内容属性决定了它不会只在某一方面专精&#xff0c;需要掌握网络维护、设计、部署、运维、网络安全等技能。 那么&#xff0c;网络工程师的技术水平体现在哪些方面&#xff1f;今天就跟你唠唠这个。 01 先来测测你的网络设计能力…...

【杂记-浅谈OSPF协议中的邻居关系与邻接关系】

OSPF协议中的邻居关系与邻接关系 1、邻居关系2、邻接关系3、DR-other之间的邻居关系 在OSPF协议中&#xff0c;Neighbor relationship 邻居关系和Adjacency 邻接关系是两个核心概念&#xff0c;它们在路由器之间建立正确的路由信息传递机制方面起着关键作用。 1、邻居关系 邻…...

白银价格行情分析兼顾基本面和技术面

许多投资者在进行白银交易时都非常喜欢看技术指标和技术分析。他们浏览不同的网站&#xff0c;看各种各样的白银行情分析信息。网上的白银分析信息网站非常的多&#xff0c;讲解白银交易技巧的书籍也数不胜数&#xff0c;有翻译国外的&#xff0c;也有国人自己编写的。有的讲的…...

搜维尔科技推出绿幕抠屏虚拟制作演示项目

搜维尔科技推出绿幕抠屏虚拟制作演示项目 搜维尔科技推出绿幕抠屏虚拟制作演示项目...

大数据集群搭建基础:Linux下MySQL安装!!!

基于提供的MySQL安装包的安装步骤 ​ 前提&#xff1a;MariaDB已卸载 yum remove mariadb-libs安装mysql-community-common包 这个包含有MySQL社区版的公共文件和脚本&#xff0c;是安装其他组件的基础。 sudo rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm安装m…...

FLASH闪存

FLASH闪存 程序现象&#xff1a; 1、读写内部FLASH 这个代码的目的&#xff0c;就是利用内部flash程序存储器的剩余空间&#xff0c;来存储一些掉电不丢失的参数。所以这里的程序是按下K1变换一下测试数据&#xff0c;然后存储到内部FLASH&#xff0c;按下K2把所有参数清0&…...

GPT-5智能新纪元的曙光

在美国达特茅斯工程学院周四公布的采访中&#xff0c;OpenAI首席技术官米拉穆拉蒂被问及GPT-5是否会在明年发布&#xff0c;给出了肯定答案并表示将在一年半后发布。穆拉蒂在采访中还把GPT-4到GPT-5的飞跃描述为高中生到博士生的成长。 这一爆炸性的消息&#xff0c;震动了整体…...

Qt | QPalette 类(调色版)

01、简介 1、需要用到 QWidget类中的如下属性 palette:QPalette 访问函数:const QPalette &palette() const; void setPalette(const QPalette&);  该属性描述了部件的调色板。在渲染标准部件时,窗口部件的样式会使用调色板,而且不同的平台或不同的样式通常具…...

Linux操作系统进程同步的几种方式及基本原理

1&#xff0c;进程同步的几种方式 1.1信号量 用于进程间传递信号的一个整数值。在信号量上只有三种操作可以进行&#xff1a;初始化&#xff0c;P操作和V操作&#xff0c;这三种操作都是原子操作。 P操作(递减操作)可以用于阻塞一个进程&#xff0c;V操作(增加操作)可以用于…...

android 责任链模式

责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为设计模式&#xff0c;它允许多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合。这种模式将这些对象连成一条链&#xff0c;并沿着这条链传递请求&#xff0c;直到有一…...

【可控图像生成系列论文(四)】IP-Adapter 具体是如何训练的?1公式篇

系列文章目录 【可控图像生成系列论文&#xff08;一&#xff09;】 简要介绍了 MimicBrush 的整体流程和方法&#xff1b;【可控图像生成系列论文&#xff08;二&#xff09;】 就MimicBrush 的具体模型结构、训练数据和纹理迁移进行了更详细的介绍。【可控图像生成系列论文&…...

YOLOE官版镜像部署指南:从环境配置到实战推理全流程

YOLOE官版镜像部署指南&#xff1a;从环境配置到实战推理全流程 1. 环境准备与快速部署 1.1 系统要求与准备工作 在开始部署YOLOE官版镜像前&#xff0c;请确保您的系统满足以下基本要求&#xff1a; 操作系统&#xff1a;推荐使用Ubuntu 20.04/22.04或CentOS 7/8GPU支持&a…...

从设计稿到上架:一份给独立开发者的Android应用图标全流程制作指南

从设计稿到上架&#xff1a;独立开发者的Android应用图标全流程实战 在移动应用生态中&#xff0c;图标是用户对产品的第一印象。Google Play商店数据显示&#xff0c;专业设计的应用图标能提升40%以上的点击率。但对于独立开发者和小团队而言&#xff0c;如何在有限资源下打造…...

摆脱论文困扰!2026年实打实好用的专业降AI率平台

2026年论文降AI率工具已从“基础改写”升级为智能优化系统&#xff0c;核心评价维度包括AIGC识别精准度、文本自然度、学术格式合规性、查重适配能力、长文本逻辑性和多语种支持。本次测评覆盖6款主流工具&#xff0c;涵盖中文与英文、全流程与专项功能、免费与付费模式&#x…...

别再手动组合特征了!用GBDT+LR搞定CTR预估,附Python实战代码与调参心得

GBDTLR&#xff1a;自动化特征工程的CTR预估实战指南 在推荐系统和广告投放领域&#xff0c;点击率&#xff08;CTR&#xff09;预估的准确性直接影响着平台的核心商业指标。传统手动特征工程方法在面对高维稀疏特征时往往力不从心&#xff0c;而GBDTLR的组合策略为我们提供了一…...

保姆级教程:在Ubuntu 22.04物理机上,从开启SSH到配置IPv6防火墙的完整流程

Ubuntu 22.04物理机从SSH配置到IPv6防火墙的完整安全指南 当你拿到一台全新的Ubuntu物理机时&#xff0c;如何安全地配置远程访问并启用IPv6连接&#xff1f;本文将带你从零开始&#xff0c;一步步完成从系统初始化到防火墙配置的全过程。无论你是搭建家庭服务器、开发测试环境…...

霍尔电流传感器原理与应用全解析

霍尔电流传感器测量原理深度解析 1. 霍尔效应电流测量基础 1.1 霍尔效应原理 霍尔效应是电流测量的基础物理现象&#xff0c;当导体或半导体薄片置于磁场中&#xff0c;并在其两端施加控制电流时&#xff0c;垂直于电流和磁场方向的两侧会产生电势差&#xff0c;这种现象称为…...

2026 年 OpenClaw 生态选型指南:从「红色龙虾」到国产「小龙虾」

2026 年初&#xff0c;一只名为 OpenClaw 的「红色龙虾」长期占据 GitHub 热度前列&#xff0c;星标在公开页面上已达到 三十万量级&#xff08;具体数字每日波动&#xff09;。业界常把它描述为 AI 从「只会聊」走向「能替你办事」的一块试金石&#xff1a;不是多一个聊天窗口…...

极域电子教室突破技术:从系统控制到自主操作的攻防对抗

极域电子教室突破技术&#xff1a;从系统控制到自主操作的攻防对抗 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 一、核心痛点&#xff1a;极域电子教室的控制枷锁 在信息化教…...

5分钟解决PDF转Markdown痛点:Marker工具全场景应用指南

5分钟解决PDF转Markdown痛点&#xff1a;Marker工具全场景应用指南 【免费下载链接】marker 一个高效、准确的工具&#xff0c;能够将 PDF 和图像快速转换为 Markdown、JSON 和 HTML 格式&#xff0c;支持多语言和复杂布局处理&#xff0c;可选集成 LLM 提升精度&#xff0c;适…...

为什么Stable Diffusion选择VQ-GAN?深入解析LDM背后的图像压缩技术

为什么Stable Diffusion选择VQ-GAN&#xff1f;深入解析LDM背后的图像压缩技术 在生成式AI领域&#xff0c;Stable Diffusion凭借其出色的图像生成质量和开源特性迅速成为行业标杆。但很少有人注意到&#xff0c;这个强大模型的核心竞争力之一&#xff0c;其实隐藏在它的第一阶…...