自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 Crash 工具分析 Linux 内核崩溃原因

当使用 Crash 工具调试内核 vmcore 时,我们首先需要明确 Crash 工具是一个用于分析 Linux 内核 vmcore 文件的强大工具。它允许我们在不需要实际访问系统的情况下,通过 vmcore 文件深入了解系统崩溃的原因。

2023-12-19 17:38:18 140 1

原创 qemu虚拟机,回放报文测试

tap0, tap1 是qemu-bridge-helper 创建的虚拟接口,绑定在桥接口br0。编辑 /etc/qemu/bridge.conf。速率控制 -M 1 表示每秒 1 Mbps.启动qemu虚拟机 单硬盘,双网卡配置。

2023-12-18 17:05:03 76

原创 rsyslog+PostgreSQL

psql 默认使用当前登录用户名登陆同名数据库,意思是如果当是root用户,那么psql=psql -U root -d root。初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。LOGANALYZER的安装实际上是配置,在config.php中配置数据源,用户账户等。因此config.php需要可写,如不可写,则需要配置selinux和firewall。正常情况下,安装完成后,PostgreSQL服务器会自动在本机的5432端口开启。

2023-12-18 16:02:03 157

原创 解决OpenWRT编译file-5.41.tar.gz无法自动编译问题

在这篇博客中,我们将探讨如何解决下载file-5.41.tar.gz失败的情况,并手动下载、验证以及修改相关配置使编译顺利进行。

2023-12-12 15:53:26 162

原创 OpenWRT新建用户无法登录问题

在OpenWRT上新建用户后无法登录的核心原因可能是密码加密算法,如果使用bcrypt算法无法登录,可以尝试切换为sha512。

2023-12-12 15:42:46 250

原创 理解 Linux 下 PKG_CONFIG_LIBDIR 和 PKG_CONFIG_PATH 的作用

pkg-config是一个用于查询已安装软件包的信息的工具,它主要用于检查和获取软件包的编译和链接标志。在交叉编译环境中,这个工具尤为重要,因为它帮助确保正确地定位和使用交叉编译的库和头文件。设置和是在交叉编译环境中确保正确库和头文件定位的关键步骤。这两个环境变量告诉 pkg-config 在哪里寻找.pc文件,以提供正确的库信息。在处理交叉编译环境时,正确配置这些变量是确保项目成功构建的不可或缺的一部分。

2023-11-22 15:35:25 500

原创 解决chroot报错 “kernel too old“ 的方法

在使用chroot时遇到 “kernel too old” 的错误并不罕见。通过使用pivot_root或schroot等替代方法,你可以更好地处理这个问题。选择适合你环境的方法,并在操作之前确保备份重要数据。通过这些方法,你将能够成功chroot到目标系统,进行必要的维护和修复工作。

2023-11-13 20:23:47 240 1

原创 深入了解GRUB命令行用法

GRUB(GRand Unified Bootloader)是一款常用的引导加载程序,负责启动计算机并加载操作系统。虽然大多数用户只接触到它的图形用户界面,但GRUB也提供了一个强大的命令行界面,允许用户进行更深入的配置和控制。在本篇博客中,我们将深入了解GRUB命令行的用法,以便更好地理解和管理系统引导过程。

2023-11-13 20:17:39 2826

原创 使用 rpath 和 rpath-link 确保 samba-util 库正确链接

在Linux系统中,可执行文件在运行时需要找到依赖的共享库。rpath和rpath-link提供了一种指定运行时库搜索路径的方式,确保系统可以正确地找到所需的库。用于指定运行时库搜索路径,是一个包含库路径的目录或者文件的路径。当程序运行时,系统将在指定的路径下查找依赖的库。与rpath类似,也是指定运行时库搜索路径的选项。不同之处在于,rpath-link的路径是在链接时指定的,而不是运行时。它通常用于在构建时指定库的位置,而不需要在运行时修改。通过使用rpath和rpath-link。

2023-11-13 20:15:16 229

原创 编译 OpenWrt:从源码到固件的全程指南

OpenWrt 是一个开源的路由器固件,它允许用户自定义和扩展功能,从而满足其特定的需求。本文将指导您完成从获取源码到生成可刷写的固件的全过程。前往 OpenWrt 官方网站(选择适合您路由器的版本(如 AR7XXX、BRCM 等),并下载对应的源码包。解压下载的源码包,进入解压后的目录。为提高下载速度,可以修改download.pl, 在适当的位置(大概200行左右)添加如下镜像url,阿里源和清华源 内核不能正确下载。原因url 不对。可以手动下载对应版本到dl目录。

2023-11-10 00:58:09 475

原创 Python处理nft list ruleset输出

re括号嵌套匹配

2023-11-08 14:10:02 60

原创 三大神器之sed

当批量修改代码中的特定模式时,使用sed命令可以帮助节省时间和精力。在这篇博客中,我们将介绍如何使用sed命令来执行这个任务。

2023-11-03 11:56:30 28

原创 Python字符串format转义

这个问题是由于format函数默认使用了大括号{}来表示占位符,但在我的命令字符串中也使用了大括号{},因此导致了错误。要解决这个问题,可以使用两个大括号来转义字符串中的大括号,以便format函数正确解释。

2023-10-19 16:13:36 173

原创 使用bs4从某站爬题

【代码】使用bs4从某站爬题。

2023-09-15 15:12:14 42

原创 记录一下mips安装自定义根文件系统的过程

由跟文件系统压缩而成的压缩包。因为没有找到mips版本的 类似isolinux的工具,不晓得如何使用u盘启动系统进入 shell,发行版iso默认是直接走安装流程,我们的系统是自己裁剪过,再行压缩的。

2023-09-05 16:05:20 104

原创 深入理解nftables:强化你的网络安全

nftables是一个用于管理Linux内核网络堆栈的工具,它的强大之处在于其清晰而强大的配置语言,以及对多种网络协议的全面支持。与之前的iptables相比,nftables提供了更灵活、可读性更强和性能更好的解决方案。

2023-09-01 16:03:00 2808 2

原创 OpenWRT固件安装到普通计算机

下载所需的OpenWRT固件镜像,确保选择与您的计算机架构相匹配的版本。例如,如果您的计算机是x86_64架构,您可以在OpenWRT镜像站点下载合适的版本。记下输出中的两个"start"值,通常是 boot 分区和 root 分区的偏移值。mkdir tmp将拷贝到可引导的U盘中。使用可引导的U盘启动计算机。这一步需要根据您的计算机制作一个可引导的U盘,确保计算机从U盘启动。使用parted可根据需求修改分区大小。chroot修改/etc/fstab检查配置文件,确保root配置正确,指向新的根分区。

2023-08-25 23:58:04 900

原创 C#使用字典映射和委托优化属性映射到全局变量

通过使用字典映射和委托,我们可以有效地优化属性映射过程,使代码更具可读性、可维护性和可扩展性。这种方法在处理大量属性映射时尤为有效,帮助我们构建更高质量的代码。希望本篇博客能够帮助您更好地理解如何优化属性映射的过程。如果您有任何问题或建议,欢迎在评论区留言。

2023-08-24 15:31:27 234

原创 cmake交叉编译

【代码】cmake交叉编译。

2023-08-24 15:21:50 152

原创 Linux UpStart自定义事件

如今LinuxMint採用的系统启动机制是基于ubuntu的upstart的,那么相相应的配置文件的文件夹为/etc/init,依据upstart的文档中所说,创建一个能够在命令行直接使用initctl emit eventname进行启动一个任务的配置文件,意思是说当event为mytestyy时,运行任务 /bin/date命令,把结果写入到/tmp/yygydjkthh文件里。就可以运行任务:mytestup,查看/tmp/yygydjkthh已经存在,表示运行任务成功;

2023-08-24 15:19:18 59

原创 gmssl + openvpn痛苦的编译经历

【代码】gmssl + openvpn痛苦的编译经历。

2023-08-24 15:17:48 388 3

原创 Linux下批量回放报文

【代码】Linux下批量回放报文。

2023-08-24 15:16:24 120

原创 Windows驱动开发:FsFilter

FsFilter是Windows操作系统提供的一个驱动框架,它允许开发者参与到文件系统输入输出(I/O)操作过程中,通过在I/O栈中插入过滤器驱动,来捕捉和分析文件系统所进行的I/O操作。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-whpH3nUe-1684511306274)(null)]当文件系统操作触发时,BaseFileSystem驱动程序将构造一个I/O栈数据结构,FsFilter驱动通过插入自己的驱动对象到I/O栈中来拦截I/O操作。

2023-05-19 23:49:15 419 2

原创 广度优先搜索算法(BFS)

广度优先算法(BFS)python实现

2023-05-19 23:27:48 254

原创 解决ldconfig 报 **.so 不是软连接的问题

解决ldconfig报**.so不是软连接的问题。

2022-08-09 14:36:57 350 1

转载 linux系统中一切皆文件

linux下“一切皆文件”是Unix/Linux的基本哲学之一。普通文件、目录、字符设备、块设备和网络设备(套接字)等在Unix/Linux都被当做文件来对待。虽然他们的类型不同,但是linux系统为它们提供了一套统一的操作接口。对于普通文件很好理解,下面重点说下设备。这时候就不得不提虚拟文件系统了。虚拟文件系统(Virtual File System,简称VFS)。linux支持多种文件...

2020-04-17 12:35:15 614

原创 linux shell 一句话命令范例

用wget 命令下载某个源码目录,下载了一天了, 意外关机。就想着把剩下的没下载完成的下载了, 又不想写脚本,想起之前见别人用一句话命令6的很,也想用,就练习了下while read line; do if [ -f "$line" ]; then echo "$line"; else wget "https://source.ipfire.org/source-2.x/""$lin...

2020-04-13 09:08:50 444

原创 git冲突解决

冲突类型cherry-pickgit cherry-pick 出现冲突:Unmerged paths: (use "git add/rm <file>..." as appropriate to mark resolution)解决方法:git checkout --ours(theirs) 冲突的代码路径git add 冲突的代码路径git cherr...

2020-04-09 18:12:24 1222

原创 LeetCode 31. 下一个排列,关于while 和for 循环

LeetCode 31. 下一个排列,关于while 和for 循环void nextPermutation(int* nums, int numsSize) { int n = numsSize - 1; for(; n &amp;amp;gt; 0; n--) //最开始这里 用while(n--) { if (nums[n] &amp;amp;gt; nums[n-1])...

2018-07-08 00:04:12 219

原创 浇水问题c程序

浇 水问题问题描述瓜农王大爷去年种西瓜赚了不少钱。看到收入不错,今年他又重新开辟了n个西瓜地。 为了能给他的n个西瓜地顺利的浇上水,对于每个西瓜地他可以选择在本地打井,也可以修管道从另一个瓜地(这个瓜地可能打了井;也可能没打井,他的水也是从其他瓜地引来的)将水引过来。 当然打井和修管道的费用有差别。已知在第i个西瓜地打井需要耗费wi元,在第i、j个西瓜地之间修管道需要耗费pi,j元。 现在的问

2016-02-05 11:21:28 2223

原创 迷宫问题c程序

迷 宫问题自己写的迷宫程序,新手,有很多不足之处,希望通过这种方式多多学习提高问题描述迷宫游戏有多种。有的迷宫只要你能走出来就算成功;有的是要求不但能走出来,而且走的步数越少得分越高。为了能得到高分,你肯定在路线的选择上下功夫,尽量用最少的步数走出迷宫。 现有一个迷宫,可以用M行N列的矩阵来描述,迷宫中有以下6种标志: (1)$ :代表你所在的初始位置; (2)& :迷宫的出口位置; (3)

2016-02-05 11:04:48 1892 1

原创 c指针做函数参数

指针作为函数参数测试代码#include <stdio.h>void main(int argc, char **argv) { FILE *fp; int ch; char *path; if (argc == 1) { fp = stdin; whil

2016-01-15 18:28:07 287

suricata4.1.10-用户手册

开源ids 引擎 suricata-4.1.10 用户手册

2023-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除