Proxmox VE 7.1安装
最近服务器原系统down掉了,之前对比过esxi、Hyper-v server、Proxmox VE,正好借此机会安装一次PVE。
Proxmox VEProxmox Virtual Environment是一种基于QEMU/KVM和LXC的开源服务器虚拟化管理解决方案。可以使用集成的、易于使用的 Web 界面或通过 CLI 管理虚拟机、容器、高可用性集群、存储和网络。
PVE有完善的开源社区,同时有内容丰富的Proxmox VE Wiki
下载&安装
下载链接 https://www.proxmox.com/en/downloads
安装可以把PVE的ISO写U盘做启动盘,或使用Ventoy。安装过程与Debian差不太多。
配置静态IP显卡直通因为服务器端有跑ML的需求,vGPU的方案性能存在损耗,所以需要配置显卡直通。服务器那边GPU是张2080的卡。
GPU也属于PCI设备,所以主要参照的方法来自于官方WIKI,另外有踩坑可以参照前人blog。
这里有一点要注意,要提前配置静态IP,如果显卡直通后物理机不能使用显卡,会无法操作物理机。
PCI 设备直通 - ...
服务器运维常用命令
1、查看有多少个IP访问:
1awk '{print $1}' log_file|sort|uniq|wc -l
2、查看某一个页面被访问的次数:
1grep "/index.php" log_file | wc -l
3、查看每一个IP访问了多少个页面:
12awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file > log.txtsort -n -t ' ' -k 2 log.txt 配合sort进一步排序
4、将每个IP访问的页面数进行从小到大排序:
1awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n
5、查看某一个IP访问了哪些页面:
1grep ^111.111.111.111 log_file| awk ' ...
windbg常用命令
只记录基本指令,详细使用方法可使用.hh命令进行查看
调试指令g 继续
lm 列出所有加载的模块
x 列出符号。x ConsoleTest!* 列出ConsoleTest模块中的所有符号,x ConsoleTest!add* 列出ConsoleTest模块中的所有add开头的符号
bp 下断点
进程相关.process.process [/i] [/p [/r]] [/P] [Process]
切换上下文
.process /r /p <cid/EPROCESS> 非侵入式,只切换命令上下文
.process /i <cid/EPROCESS>侵入式,进行进程切换
!process!process [/s Session] [/m Module] [Process [Flags]]!process [/s Session] [/m Module] 0 Flags ImageName
查询进程信息
!process 0 0显示进程列表(Flags 0代表显示基本信息)
!process 0 0 <proc_name&g ...
Windows驱动双机调试环境搭建
Windows 调试工具(WinDbg、KD、CDB、NTSD) - Windows drivers | Microsoft Docs
驱动调试为了避免调试过程中的各种蓝屏操作,一般会采用双机调试,在一个设备的情况下可以搭配VM进行调试。
Windbg + VMware
Host OS: Win10 21H2 LTSC
Guest OS: Win10 21H2 LTSC
因为部分设备不支持网络连接调试,这里介绍一下使用串口进行连接。
VM串口设置在虚拟机中添加串行端口,并进行如下设置。命名管道可自定义,但是需要与之后Windbg参数相同。
Guest OS设置
BCDEdit /dbgsettings - Windows drivers |微软文档 (microsoft.com)
管理员启动命令行窗口,进行调试器全局设置
1bcdedit /dbgsettings serial baudrate:115200 debugport:1
此处debugport应为命名管道对应的端口号,这里可通过vm设置中的命名来进行确认,通常虚拟机如果存在打印机的话COM1端口会 ...
进程通信几种方式
两个进程间经常需要进行数据交换和共享,列出几种方式便于在编程中进行应用。
https://blog.csdn.net/zhongguoren666/article/details/8234098
文件映射 文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址区间一块内存那样来对待。因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容。 Win32 API允许多个进程访问同一文件映射对象,各个进程在它自己的地址空间里接收内存的指针。通过使用这些指针,不同进程就可以读或修改文件的内容,实现了对文件中数据的共享。 应用程序有三种方法来使多个进程共享一个文件映射对象。 (1)继承:第一个进程建立文件映射对象,它的子进程继承该对象的句柄。 (2)命名文件映射:第一个进程在建立文件映射对象时可以给该对象指定一个名字(可与文件名不同)。第二个进程可通过这个名字打开此文件映射对象。另外,第一个进程也可以通过一些其它IPC机制(有名管道、邮件槽等)把名字传给第二个进程。 (3)句柄复制:第一个进程建立文件映射对象,然后通过其它 ...
栈溢出
ret2syscall系统调用三种方式int 80,syscenter,syscallint 80,syscenter传参方式eax,ebx,ecx,edxsyscall传参方式rdi,rsi,rdx,r10,r9,r8
record_1
ea01187b15b1e247184f97b08f75debb7271ac095bcdff3f18add65ebb9267c470752735b932f8ea5665c80780a66b66dc97b33ae9264f2690489dffe7452029b85f4b62ab2e38ee5d1b8b278a8ebcf8c3762d86d6d811db2df160dee731a77f83bea675e68e8fd6e2b755e33ba84b83ed76d17a737c76dc6b283fbccafc0f950ae8550600b1d80c183206d8857c1c8b3bfa600d7f73b4279e09228f4426020320055eb0d13234d8f1ad8ab9404d488f1b2bb2ea77e97d83774c6509f42bf37e5d7432d0776278aaf7a56c66640426e621a44bec4717ac37a6d799a2f47be27651cb986899e1cd5d64cadfc2d501c2b0957b17a967d38a761 ...
ELF文件格式
ELF文件结构ELF全称为Executable and Linkable Format,是 Linux 中的目标文件。
其内容视图主要有两种
以链接视图来分析ELF的文件格式
ELF Header -> 存放ELF文件的整体信息
Program Header Table -> 存放程序执行时所需要的信息。其实就是段信息
Section -> 存放程序大部分信息:指令、数据、符号表等等
Section Header Table -> 存放描述节区的信息
ELF Header用于索引ELF全部的信息,其数据结构如下(数据结构可以在/usr/include/elf.h查看)
12345678910111213141516171819/* The ELF file header. This appears at the start of every ELF file. */typedef struct{ unsigned char e_ident[EI_NIDENT]; /* Magic number and ot ...
2019-CISCN
初赛签到人脸识别
easyGOgdb里面动态调试,第一个call步进,然后一路单步下去,能直接找到真flag
puzzles数学题。。队里数学大佬写的(考研人无敌)
question 0
写脚本求解
123456import numpy as npfrom scipy.linalg import solvea = np.array([[13627, 26183, 35897, 48119], [23027,38459,40351,19961], [36013,45589,17029,27823],[43189,12269,21587,33721]])b = np.array([347561292,361760202,397301762,350830412])x = solve(a, b)print(x)
a1,a2,a3,a4=[4006,3053,2503,2560]
question 1
1234567891011121314def handlerNum(num): if num > 1: for i in range(2, num ...
对于开启PIE的ELF文件调试方法
最近调试程序时候遇到很多题目开启了PIE保护
加上大部分将符号表删除,这对于使用GDB来下断点来说比较难以定位,以下将几种常见的做法总结。
查看ELF基址稍微复杂的方法是查看程序运行时ELF基址,然后与获取的偏移地址相加,有两种方式可以查看一种使用pamp来查看进程的地址段及其权限,另一种方法为查看生成的动态链接文件。
pmap在GDB调试程序时先执行run命令
然后使用ps -A查看进程的PID
使用pmap PID
第一行即为ELF基址
查看动态链接文件这种方式与pmap方式相似,在找出进程PID后,查看/proc//map_files/目录,第一个文件名称即为ELF基址
b *$rebase(addr)pwngdb插件提供了rebase命令可以快速定位偏移地址,使用方法为b *$rebase(偏移地址)