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

虚拟机Ubuntu以及pwn的工具安装

之前pwn入门在kali上装了,师兄说用Ubuntu会比kali好得多,更有利于pwn的学习,本着少走弯路的想法我就决定装一个,再把工具什么的配了

一、Ubuntu的安装

参考博客及镜像来源:VMware虚拟机安装Ubuntu教程(超详细)_vmware安装ubuntu-CSDN博客

我个人觉得这篇博客还是挺详细的,并且还附带资源,VMware没有的话也可以装

新建虚拟机

选择稍后安装操作系统

操作系统选择Linux,版本选择Ubuntu 64位,然后名字和位置就不说了,不在C盘就行

这里要选择配置,官方建议是双核2 GHz处理器或更高、4 GB系统内存、25 GB磁盘存储空间,但也要根据电脑配置来决定

用ctrl+shift+esc打开任务管理器,选择性能,然后选择cpu,这里只要不超过物理机的核心数就可以了

补充:

处理器数量:虚拟机上的CPU个数

每个处理器的内核数量:每个虚拟的CPU有几个内核

处理器内核总数:处理器数量 * 每个处理器的内核数量(即物理机分配给虚拟机的CPU线程数,只要该参数一样,不管上面两个参数怎么调整整机性能都是一致的)

我选了4+2,这里应该够用了

接下来是虚拟机内存,内存官方推荐是 4GB

同样使用任务管理器查看本机配置,32够用了

那就用推荐的了

选择使用网络地址转换(NAT)(E),然后下一步

接下来两步都是默认推荐,就不赘述了

这里选择创建新虚拟磁盘

官方推荐的是硬盘容量是 25GB,直接给 50GB 够用了,后期不够的话还可以扩容。

觉得ok了就点击完成,不满意就自定义硬件修改配置

接下来就可以进入操作系统的安装了

选中Ubuntu虚拟机后选择编辑虚拟机设置

根据图片框起来的选择,镜像就选择刚刚下载好的,原文中是22年的了,我就用24的新一点,安装方式基本一样,不用过多纠结,选好了就点确定,然后就可以开启虚拟机了

这里由于选择了24年的,以后不知道还会不会用到别的年份的Ubuntu,就重命名一下,在侧边栏右键虚拟机选择重命名就可以了

开启后回车选择第一个就可以了

到这个界面以后选择中文简体(反正我英语不好,只能看懂中文,要选别的随你们)

这里键盘布局选汉语

无语了,这个教程是22年的

这里重新找了一个教程:VMWare虚拟机安装Ubuntu24.04系统及其相关配置_安装ubuntu24.04 命令版-CSDN博客

接下来都是默认选项

然后就是用户名及密码,自己设置就可以了

选择中国大陆就可以了(中国的地图应该没人不认识吧)

可以看到正在安装了,耐心等待即可

这样就安装成功了

接下来安装vmtools

这里可以看到显示灰色说明安装成功

连接网络不多赘述了,不知道的可以跳转这篇博客,很详细,包会的:ubuntu下网络环境搭建_ubuntu网络设置-CSDN博客

设置root密码

这样就可以切换到root了

安装vim编辑器

sudo apt install vim

这里在操作中发现终端无法复制粘贴内容,应该是vmtools装的时候有点什么问题,用命令解决了一下

sudo apt-get autoremove open-vm-tools     //卸载已有工具
sudo apt-get install open-vm-tools     //安装工具open-vm-tools
sudo apt-get install open-vm-tools-desktop         //安装open-vm-tools-desktop

然后重启虚拟机就发现复制粘贴和文件传输都可以了

这里可以根据图片编辑快捷键,用的顺手就行

二、pwn所需工具安装

更新源和软件

sudo apt-get update
sudo apt-get upgrade

这里有可能会报错,像下图一样

解决方法如下

sudo nano /etc/apt/sources.list     //这里使用的是nano

这里是移除CDROM源,通过编辑/etc/apt/sources.list文件,直接在前面加上#注释掉即可然后ctrl+x离开,y确认保存,enter确认命名,退出后就可以正常安装了

sudo apt-get install python3-pip

安装pip工具

sudo apt install build-essential -y
sudo apt install libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev -y
sudo apt-get install zlib1g-dev

安装编译Python源程序所需要的包,包括build-essentiallibncurses5-devlibgdbm-devlibnss3-devlibssl-devlibreadline-devlibffi-devzlib1g-de

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools

我这里报错了

dpkg -l | grep python3-venv    //检查python3-venv是否安装
sudo apt install python3-venv    //安装python3-venv
mkdir -p ~/venvs
python3 -m venv ~/venvs/pwntools-env   //选择一个目录存放虚拟环境
source ~/venvs/pwntools-env/bin/activate    //激活环境
pip install --upgrade pip
pip install pwntools        //在虚拟环境下安装pip包
deactivate     //退出虚拟环境

可以看到我的python3-venv是没有安装的,就要进行剩下的操作

这里venvs目录是自己建的,叫什么名字都行

这样就说明虚拟环境创建成功了

这样就可以了

还可以通过pipx安装pwntools,命令如下

sudo apt install pipx
pipx install pwntools

这里会有警告,为了使 pwntools 的命令行工具全局可用,可以按照回显中的建议执行以下命令:

pipx ensurepath

这个命令会自动将 /root/.local/bin 添加到你的 PATH 环境变量中

但是还是在python中找不到pwn模块,要用pipx运行pwntools,命令如下

pipx run pwn

试了一下也是可以的

接下来就是安装pwn用得到的工具了,这里上一篇博客都有写过就不赘述了,有需要的可以看一下,checksec(动态分析)、checksec(动态分析)、one_gadget、libc database search、gdb与peda、pwngdb、pwndbg(动态分析)组合安装、radare2、vscod的安装及C/C++和python环境配置、IDA等,使用教程也有链接

相关文章:

虚拟机Ubuntu以及pwn的工具安装

之前pwn入门在kali上装了,师兄说用Ubuntu会比kali好得多,更有利于pwn的学习,本着少走弯路的想法我就决定装一个,再把工具什么的配了 一、Ubuntu的安装 参考博客及镜像来源:VMware虚拟机安装Ubuntu教程(超详细)_vmwar…...

MeiliSearch:一款轻量级开源搜索引擎

Meilisearch 是由 Meili (一家总部位于法国的软件开发公司)创建的搜索引擎,目前在 Github 上有 47.9k stars。 Meillisearch 具备以下特色功能(ChatGPT-4o 翻译): 混合搜索:结合语义搜索和全文…...

数据库入门

基本概念 数据库:DataBase简称DB,是一个用于存储和管理数据的仓库。 就像我们每天访问的网站Bilibili,OA、ERP和CRM等内部管理系统,以及我们每天使用的腾讯新闻和Tiktok应用程序一样,我们看到的数据实际上存储在数据库…...

WebGIS城市停水及影响范围可视化实践

目录 前言 一、相关信息介绍 1、停水信息的来源 2、停水包含的相关信息 二、功能简介 1、基础小区的整理 2、停水计划的管理 三、WebGIS空间可视化 1、使用到的组件 2、停水计划的展示 3、影响小区的展示 4、实际效果 四、总结 前言 城市停水,一个看似…...

【Syncfusion系列】Diagram 杂谈 第三篇 序列化和反序列化

目录 序列化保存C# 代码示例, 方式1 :C# 代码示例, 方式2 : 反序列化加载C# 代码示例, 方式1:C# 代码示例, 方式2: **如何序列化自定义属性**序列化和反序列化都存在的一个问题解决方式 图表是否已修改&…...

#思科模拟器通过服务配置保障无线网络安全Radius

演示拓扑图: 搭建拓扑时要注意: 只能连接它的Ethernet接口,不然会不通 MAC地址绑定 要求 :通过配置MAC地址过滤禁止非内部员工连接WiFi 打开无线路由器GUI界面,点开下图页面,配置路由器无线网络MAC地址过…...

Repo管理

文章目录 前言Repo介绍清单仓库清单仓库的组成 初始化Repo同步远程仓库Repo实际应用 前言 我们知道,Git是用来管理某一个仓库,那当一个项目用到了多个仓库时,怎么来同步管理这些仓库呢?这个时候就可以引入Repo管理。 Repo介绍 …...

代码随想录算法训练营第四十八/九天 | 图 | 深度搜索 | 广度搜索

Day 48 49 总结 自己实现中遇到哪些困难今日收获,记录一下自己的学习时间 11:40 - 14:3012:30 - 13:30, 14:45 - 17:10 图论 深度收缩 & 广度搜索 并查集 最小生成树 拓扑排序 最短路径算法 图论基础 图 二维空间里,多个点之间相互连接图的…...

JavaEE初阶——多线程(线程安全-锁)

复习上节内容(部分-掌握程度不够的) 加锁,解决线程安全问题。 synchronized关键字,对锁对象进行加锁。 锁对象,可以是随便一个Object对象(或者其子类的对象),需要关注的是&#xff…...

搭建大语言模型

安装和配置Ollama 首先在官网上下载Ollama,同时支持window,linux,macos系统。 下载下来是一个压缩包,直接解压缩即可,然后点击安装程序开始安装。 linux下载 执行以下命令,即可自动下载安装&#xff0c…...

QT6 Socket通讯封装(TCP/UDP)

为大家分享一下最近封装的以太网socket通讯接口 效果演示 如图,界面还没优化,后续更新 废话不多说直接上教程 添加库 如果为qmake项目中,在.pro文件添加 QT network QT core gui QT networkgreaterThan(QT_MAJOR_VERS…...

Linux中 vim 常用命令大全详细讲解

文章目录 前言一、Vim 基本操作 🕹️1.1 打开或创建1.2 退出编辑1.3 模式切换 二、Vim 光标移动命令 ↕️2.1 基本移动2.2 行内移动2.3. 单词移动2.4. 页面移动2.5. 行跳转 三、Vim 文本编辑命令 📋3.1 插入和删除3.2 复制、剪切与粘贴3.3 替换与修改 四…...

vs 调试

常用: 调试->窗口-> 断点 监视 自动窗口 局部变量 调用堆栈 内存 反汇编(也可以右键,转到反汇编) 寄存器 快捷键: F5:启用调试,经常用来跳到下一个断点处 F9创建断点和取消断点。断点的重要作用&…...

使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构(未做共享存储版)

文章目录 使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构Redis 主从架构部署 (1.yaml)Redis Sentinel 部署 (2.yaml)Sentinel 服务暴露 (3.yaml)部署步骤总结 使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构 本文将详细介绍如何在 Kubernetes 中部署 Redis …...

PLC网关,plc远程通信 —— 跨越距离远程控制运维升级

在日新月异的工业4.0时代,智能化、网络化已成为制造业转型升级的关键词。其中,PLC(可编程逻辑控制器)作为工业自动化控制的核心设备,其远程通信技术的突破,正引领着一场前所未有的工业变革。今天&#xff0…...

MySQL的历史和地位

秋招之后,开始深入学习后端开发知识啦。把学到的东西分享给大家最开心啦。就从MySQL开始吧。 首先说一下MySQL的历史和地位。主要是看一下我们为什么要学习,而不是说让我们学什么我们就学什么。 地位 这张图是我从DB-Engines截取的2024年12月最新的数据…...

Day12 洛谷 1320+1152+1615

零基础洛谷刷题记录 Day01 2024.11.18 Day02 2024.11.25 Day03 2024.11.26 Day04 2024.11.28 Day05 2024.11.29 Day06 2024 12.02 Day07 2024.12.03 Day08 2024 12 05 Day09 2024.12.07 Day10 2024.12.09 Day11 2024.12.10 Day12 2024.12.14 文章目录 零基础洛谷刷题记录1320&…...

四十六:如何使用Wireshark解密TLS/SSL报文?

TLS/SSL是保护网络通信的重要协议,其加密机制可以有效地防止敏感信息被窃取。然而,在调试网络应用或分析安全问题时,解密TLS/SSL流量是不可避免的需求。本文将介绍如何使用Wireshark解密TLS/SSL报文。 前提条件 在解密TLS/SSL报文之前&…...

【网络安全设备系列】7、流量监控设备

0x00 定义: 网络流量控制是一种利用软件或硬件方式来实现对电脑网络流量的控制。它的最主要方法,是引入QoS的概念,从通过为不同类型的 网络数据包标记,从而决定数据包通行的优先次序。 0x01 类型: 流控技术分为两种: 一种是…...

SpringCloud无介绍快使用,sentinel注解@SentinelResource的基本使用(二十三)

TOC 问题背景 从零开始学springcloud微服务项目 注意事项: 约定 > 配置 > 编码IDEA版本2021.1这个项目,我分了很多篇章,每篇文章一个操作步骤,目的是显得更简单明了controller调service,service调dao默认安装ngi…...

vue3 父组件调用子组件 el-drawer 抽屉

之前 Vue3 只停留在理论&#xff0c;现在项目重构&#xff0c;刚好可以系统的实战一下&#xff0c;下面是封装了一个抽屉表单组件&#xff0c;直接在父组件中通过调用子组件的方法打开抽屉&#xff1a; 父组件&#xff1a; <template><div id"app"><…...

JVM运行时数据区内部结构

VM内部结构 对于jvm来说他的内部结构主要分成三个部分&#xff0c;分别是类加载阶段&#xff0c;运行时数据区&#xff0c;以及垃圾回收区域&#xff0c;类加载我们放到之后来总结&#xff0c;今天先复习一下类运行区域 首先这个区域主要是分成如下几个部分 下面举个例子来解释…...

luckysheet与superslide冲突解决

[现象]控制台报错、界面无法操作 $是jquery。查看源码&#xff0c;发现mousewheel方法来自插件mousewheel&#xff0c;luckysheet初始应该会将mousewheel挂载在jquery上。 在控制台打印jquery取dom及其方法&#xff0c;结果如下&#xff1a; 不存在mousewheel方法&#xff0c…...

ubuntu环境调用onnxruntime找不到GPU的问题

问题&#xff1a; python安装好onnxruntime无法调用gpu。 通过如下代码测试&#xff0c;均为False。 import onnxruntime as ort# 检查ONNX Runtime是否支持CUDA def is_onnxruntime_cuda_supported():return ort.get_device() GPU# 检查ONNX Runtime是否使用CUDA def is_onn…...

【iOS】《Effective Objective-C 2.0》阅读笔记(一)

文章目录 前言了解OC语言的起源在类的头文件中尽量少引入其他头文件多用字面量语法&#xff0c;少用与之等价的方法字面量数值字面量数组字面量字典 多用类型常量&#xff0c;少用#define预处理指令用枚举法表示状态、选项、状态码 总结 前言 最近开始阅读一些iOS开发的相关书籍…...

linux在没网的情况下如何校验时间 超详细拿来即用

一、没有校时服务器的话 1、手动修改 sudo date --set"2024-06-17 13:44:00"二、有校时服务器的话 1、手动校时 ntpdate 14.193.73.22、自动校时 写一个校时服务脚本 14.193.73.2 是校验时间服务器 #!/bin/sh while true dontpdate 14.193.73.2sleep 5;hwclock…...

springBoot项目框架创建后缺少iml文件

springBoot项目创建好之后缺少iml文件 解决方案&#xff1a; 按两下ctrl出现一下内容 在右上角project的下拉框中选中缺少文件的项目 输入 mvn idea:module 回车执行重构...

【OJ题解】最长回文子串

个人主页: 起名字真南的CSDN博客 个人专栏: 【数据结构初阶】 &#x1f4d8; 基础数据结构【C语言】 &#x1f4bb; C语言编程技巧【C】 &#x1f680; 进阶C【OJ题解】 &#x1f4dd; 题解精讲 目录 **题目链接****解题思路****1. 初步判断****2. 回文子串性质****3. 判断是…...

kubeadm安装K8s高可用集群之集群初始化及master/node节点加入calico网络插件安装

系列文章目录 1.kubeadm安装K8s高可用集群之基础环境配置 2.kubeadm安装K8s集群之高可用组件keepalivednginx及kubeadm部署 3.kubeadm安装K8s高可用集群之集群初始化及master/node节点加入集群calico网络插件安装 kubeadm安装K8s高可用集群之集群初始化及master/node节点加入ca…...

动态设置路由标题title;动态设置路由配置meta;独享的守卫beforeEnter

案例&#xff1a;同一个页面即使新增&#xff0c;又是编辑、详情页。导致路由配置里的title无法固定 通过路由的独享的守卫beforeEnter解决配置&#xff1b;同时beforeEnter一定程度上可以帮助处理vue3缓存问题 {path: "methodApplicationFormOperate",name: "M…...

探秘UI自动化测试工具Playwright工作原理

相关文章&#xff1a;playwright系列教程 Playwright简介 微软出品的强大工具 Playwright是由微软推出的一款开源自动化测试工具&#xff0c;专门为Web测试和自动化场景而设计。在现代Web开发的快节奏环境下&#xff0c;其凭借出色的性能和丰富的功能&#xff0c;成为众多开…...

111.【C语言】数据结构之二叉树的销毁函数

目录 1.知识回顾 2.分析 3.代码 后序遍历销毁(最简洁) 前序遍历销毁(不推荐) 中序遍历销毁(不推荐) 4.将函数嵌入main函数中执行 1.知识回顾 106.【C语言】数据结构之二叉树的三种递归遍历方式 2.分析 销毁二叉树需要按照一定的顺序去销毁,例如:先销毁根还是先销毁根…...

WPF xaml 文件详解

<div id"content_views" class"htmledit_views"><h2><a name"t0"></a>1.总述</h2> 创建好了WPF项目后&#xff0c;最重要的是对 App和MainWindow的理解&#xff0c;在一开始的时候&#xff0c;极容易就直接在Main…...

win10配置免密ssh登录远程的ubuntu

为了在终端ssh远程和使用VScode远程我的VM上的ubuntu不需要设置密码&#xff0c;需要在win10配置免密ssh登录远程的ubuntu。 在win10打开cmd&#xff0c;执行下面的代码生成密钥对&#xff08;会提示进行设置&#xff0c;按照默认的配置就行&#xff0c;一直回车&#xff09;&…...

Android命令行工具--apksigner

使用 Android SDK Build Tools 修订版 24.0.3 及更高版本中提供的 apksigner 工具为 APK 签名&#xff0c;并确保 APK 的签名将在该 APK 支持的所有版本 Android 平台上成功通过验证。 注意&#xff1a;如果在使用 apksigner 为 APK 签名后又对 APK 做了更改&#xff0c;则 APK…...

Linux高性能服务器编程 | 读书笔记 |9.定时器

9. 定时器 网络程序需要处理定时事件&#xff0c;如定期检测一个客户连接的活动状态。服务器程序通常管理着众多定时事件&#xff0c;有效地组织这些定时事件&#xff0c;使其在预期的时间被触发且不影响服务器的主要逻辑&#xff0c;对于服务器的性能有至关重要的影响。为此&…...

UE5制作伤害浮动数字

效果演示&#xff1a; 首先创建一个控件UI 添加画布和文本 文本设置样式 添加伤害浮动动画&#xff0c;根据自己喜好调整&#xff0c;我设置了缩放和不透明度 添加绑定 转到事件图表&#xff0c;事件构造设置动画 创建actor蓝图类 添加widget 获取位置 设置位移 创建一个被击中…...

双亲委派机制是Java类加载器的一种工作模式

双亲委派机制是Java类加载器的一种工作模式&#xff0c;确保了类加载的一致性和安全性。以下是对双亲委派机制的详细解析&#xff1a; 一、定义与工作原理 双亲委派机制&#xff08;Parent Delegation Model&#xff09;要求除了顶层的启动类加载器外&#xff0c;其余的类加载…...

AI智算-k8s部署大语言模型管理工具Ollama

文章目录 简介k8s部署OllamaOpen WebUI访问Open-WebUI 简介 Github&#xff1a;https://github.com/ollama/ollama 官网&#xff1a;https://ollama.com/ API&#xff1a;https://github.com/ollama/ollama/blob/main/docs/api.md Ollama 是一个基于 Go 语言开发的可以本地运…...

百度23届秋招研发岗A卷

百度23届秋招研发岗A卷 2024/12/16 1.下面关于 SparkSQL 中 Catalyst 优化器的说法正确的是&#xff08;ABC&#xff09; A.Catalyst 优化器利用高级编程语言功能&#xff08;例如 Scala 的模式匹配&#xff09;来构建可扩展的查询优化器 B.Catalyst 包含树和操作树的规则集…...

米哈游大数据面试题及参考答案

怎么判断两个链表是否相交?怎么优化? 判断两个链表是否相交可以采用多种方法。 一种方法是使用双指针。首先分别遍历两个链表,得到两个链表的长度。然后让长链表的指针先走两个链表长度差的步数。之后,同时移动两个链表的指针,每次比较两个指针是否指向相同的节点。如果指…...

Android14 AOSP 允许system分区和vendor分区应用进行AIDL通信

在Android14上&#xff0c;出于种种原因&#xff0c;system分区的应用无法和vendor分区的应用直接通过AIDL的方法进行通信&#xff0c;但是项目的某个功能又需要如此。 好在Binder底层其实是支持的&#xff0c;只是在上层进行了屏蔽。 修改 frameworks/native/libs/binder/Bp…...

llm chat场景下的数据同步

背景 正常的chat/im通常是有单点登录或者利用类似广播的机制做多设备间内容同步的。而且由于长连接的存在&#xff0c;数据同步&#xff08;想起来&#xff09;相对简单。而llm的chat在缺失这两个机制的情况下&#xff0c;没见到特别好的做到了数据同步的产品。 llm chat主要两…...

视频去重原理及 Demo 示例

视频去重是一个常见的需求&#xff0c;主要用于视频库或平台管理中&#xff0c;通过判断视频是否相同&#xff08;或相似&#xff09;来移除冗余内容。实现视频去重可以通过多种方法&#xff0c;具体选择取决于业务场景和性能要求。 1. 视频去重的原理 1.1 基本原理 视频去重…...

【GIS教程】使用GDAL-Python将tif转为COG并在ArcGIS Js前端加载-附完整代码

目录 一、数据格式 二、COG特点 三、使用GDAL生成COG格式的数据 四、使用ArcGIS Maps SDK for JavaScript加载COG格式数据 一、数据格式 COG&#xff08;Cloud optimized GeoTIFF&#xff09;是一种GeoTiff格式的数据。托管在 HTTP 文件服务器上&#xff0c;可以代替geose…...

【ETCD】【源码阅读】深入解析 EtcdServer.applySnapshot方法

今天我们来一步步分析ETCD中applySnapshot函数 一、函数完整代码 函数的完整代码如下&#xff1a; func (s *EtcdServer) applySnapshot(ep *etcdProgress, apply *apply) {if raft.IsEmptySnap(apply.snapshot) {return}applySnapshotInProgress.Inc()lg : s.Logger()lg.In…...

C# 实现 10 位纯数字随机数

本文将介绍如何用 C# 实现一个生成 10 位纯数字随机数的功能。以下是完整的代码示例&#xff1a; using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace RandomTset {class Program{// 使用GUID作为种子来创建随机数生成器static…...

【热力学与工程流体力学】流体静力学实验,雷诺实验,沿程阻力实验,丘里流量计流量系数测定,局部阻力系数的测定,稳态平板法测定材料的导热系数λ

关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…...

黑盒白盒测试

任务1 黑盒测试之等价类划分法 【任务需求】 【问题】例&#xff1a;某报表处理系统要求用户输入处理报表的日期&#xff0c;日期限制在2003年1月至2008年12月&#xff0c;即系统只能对该段期间内的报表进行处理&#xff0c;如日期不在此范围内&#xff0c;则显示输入错误信息…...

D99【python 接口自动化学习】- pytest进阶之fixture用法

day99 pytest使用conftest管理fixture 学习日期&#xff1a;20241216 学习目标&#xff1a;pytest基础用法 -- pytest使用conftest管理fixture 学习笔记&#xff1a; fixture(scope"function") conftest.py为固定写法&#xff0c;不可修改名字&#xff0c;使用c…...