自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(192)
  • 资源 (10)
  • 收藏
  • 关注

原创 Centos下日志管理

一前言对于程序员来说,排查问题最重要的方式之一就是记录日志和查看日志了。日志就像系统的化验单,程序员就是医生,根据化验单,对症下药;特别是在系统在客户现场出现问题的时候,现场维护同事咨询问题的时候,提供一份详细的"化验单" 就非常重要。所以维护做的好一点的,一般都有日志分析系统,或在出现故障时候,可以从系统中导出关键日志,发送给程序员,完整的日志,便于快速对系统进行把脉、开出药方。相对我们对自己开...

2024-03-24 17:40:07 850 1

原创 centos7.4下升级最新的ssh

一 安装telnet服务器安装telnet服务器目的,防止我们升级失败的时候,可以通过telnet登录,而不至于上机房。由于我们是临时启动,所以只要简单的使用,不要通过xinetd来进行守护。命令如下:yum-yinstalltelnettelnet-serversystemctlenabletelnet.socket--nowsystemctlstarttelnet.so...

2024-03-03 16:31:04 227

原创 TeleDb 国产数据库编译安装

一 环境准备1.1 创建用户、用户组groupaddteledbuseraddteledb-gteledb1.2 创建相关目录mkdir-p/opt/teledb/data1.3 安装boostcd/opt/tarxzfboost_1_59_0.tar.gzcdboost_1_59_0./bootstrap.sh./b2install1.4 安装依赖rpmcd/o...

2024-02-24 12:36:13 223

原创 Java生成word文档

一 前言Java编程生成word文档这种操作一般是常规操作比较常见,主要采用Apache的POI Word 这个库操作的比较多,还有的用Spire.Doc,但是这个库有些稍微难点的功能要收费,看了下费用还不低,周末朋友问起是否有用java操作word加上下标的经验,我是没有的,不过刚好借机研究下。本文主要聊下POI,毕竟是免费的,更值得研究。word 格式说明和POI支持情况:HWPF: MS...

2023-11-04 13:31:27 188

原创 GPT会统治人类吗

随着它学习的越来越多内容,不光有问题,据说还有视频、录音、图片等,它会越来越像个各方面都在行的专家,可以在我们冥思苦想没有灵感的时候,给我们以启示,这些知识都是存在的,而我们却不知道竟然可以如此组合,它不能从无到有创建出一个独立的分支,却可以通过各种组合将现有的知识利用达到极致,这种组合何尝不是一种创新,利用它的能力,未来人类在交叉学科上,在知识本质的理解上,语言规律的摸索上,给人们更多的启迪。这说明,这些单词或句子,在一个高维度的空间上,是存在一定的关系的,这个关系就是我们平时所说的所谓的知识。

2023-09-16 11:38:37 847

原创 再想一想GPT

一 前言花了大概两天时间看完《这就是ChatGPT》,触动还是挺大的,让我静下来,认真地想一想,是否真正理解了ChatGPT,又能给我们以什么样的启发。二 思考在工作和生活中,使用ChatGPT或文心一言,逐渐形成了习惯,总想听听它们的意见。无论是小学作文还是小的编程测试例子,大部分情况下还是能够给我一个比较靠谱的意见,而且是个“知错就改”的AI,对于它的回答不满意,多换几个提示词总能给我想要的效...

2023-09-16 11:38:33 596

转载 不用写代码模拟Restful服务器

1 前言很久没有写文章了,不管什么原因,总觉得心里还是觉得有点焦虑,不看看书写点东西就有莫名的焦虑,仿佛只有忙起来才能忘记焦虑。虽然我也知道更重要的是思考方向,但是就像走路,不出发随着时间的流逝,总觉得有种焦虑感,总觉得一直走在路上,才有踏实的充实感,不知道你们是不是这种感觉,还是只是我的个人感觉。2 不用写代码的服务器这篇文章不是什么高深的底层知识,只是介绍个工具。原因我在写后端代码的时候,代码...

2023-07-22 16:50:03 131

原创 不写代码开启Restful服务

虽然我也知道更重要的是思考方向,但是就像走路,不出发随着时间的流逝,总觉得有种焦虑感,总觉得一直走在路上,才有踏实的充实感,不知道你们是不是这种感觉,还是只是我的个人感觉。自己也懒得去写了就在github上找了下,发现一款好用的模拟Restful服务器,尝试下,非常好用,还支持定制。json-server 是用js开发的,作为后端开发者可能对js开发的应用有点排斥,不过尝试了就知道,其实也挺好用,现在我甚至觉得用nodejs开发,其实是件很爽的事情,代码写的像python,简单库还挺丰富的。

2023-07-22 16:34:43 320

原创 自动化漏洞猎人代码分析

0x00 前言安全人员可以扫描,网络上悬赏网站等的漏洞,如果能够发现其存在着安全漏洞,则可以通过提交漏洞的方式来获得一定的赏金,国外的这类悬赏的网站比较多,比如hackone,这上面列出了大量的资产信息,白帽子们可以分析这些资产,发现漏洞来获取赏金。hackone上截至到2020年6月,已经有六名白帽子获得了百万奖金。0x01 大概了解hackone上的资产个数是非常多的,如果人工分析起来,不光累...

2023-06-24 15:55:11 262

原创 可以顺畅使用不输Chatgpt的AI

虽然chatgpt不错,但是如果在咱们国家,想使用起来还是有一定的门槛的,又要科学上网,又要申请账号,申请账号还要申请虚拟手机号接收验证码,难道就没有适合普通人使用的AI了吗,直到我发现了Cluade。虽然答案有部分是错误的,比如ChatGPT4 并不是一个开源项目,不过在交互的时候我让它用表格展示,直接给我markdown格式的对比说明,挺厉害的。目前发现这个AI在问题回答上,路线交互上等一系列问题上,还是不错,完全可以作为日常工作生活的助手,趁着现在注册还是开放的,赶紧来注册体验吧。

2023-04-16 16:26:06 5821 1

原创 利用Radix tree基树进行IP地址的匹配

一 基树概念Radix tree(也称为基树trie或紧凑trie)是一种空间优化的trie数据结构,用于存储关联数组,其中键是字符序列(例如,字符串或字节数组)。在基数树中,树中的每个节点表示一个或多个键的公共前缀,节点之间的边缘表示该前缀的扩展。由于它们的前缀共享,基数树可能比常规尝试更节省空间,特别是对于具有许多键共享公共前缀的数据集。注意:有的地方区分了Radix tree和Trie Tr...

2023-02-12 10:01:44 793

原创 实现自己的数据库四

一前言上一篇已经说明了B+树的一些原理,也讲到,我们目前采用的持久化数据的方式,而且我们是单独的插入数据,没有任何元数据信息,虽然插入的速度很快,因为是采用追加的方式。但是这种方式插入速度很快,像上次所说,查询和删除的速度会很慢。数据结构性能对比图我们以前用的就是非排序数组行,保存的是数据,没有其他信息。插入性能最好,但是删除和查找时间复杂度为O(n),排序数组查找很快,可以采用二分法查找,时间复...

2023-01-30 22:27:58 390

原创 实现自己的数据库三

一 前言上篇实现了数据库的持久化,就是一个质的飞跃,虽然代码不复杂,但是对没有这方面经验者来说,还是意思的,下一步就是要完成另外一个飞跃,将存储的数据结构采用B+树的形式来保存。在改造之前,还有些准备工作,一是将代码改动下,引入游标这个概念,二是对B+树的结构和原理再做一次梳理,然后才能进入代码开发阶段。二 游标cursor游标这个概念,再这里面可以抽象认为为指向一行的指针,通过这个指针我们可以做...

2023-01-28 13:08:55 459

原创 实现自己的数据库二

一 前言上次数据库支持了一个测试表的插入和查询,但是数据全部保存到磁盘中的,如果程序重启后,数据都会全部丢了,所以需要持久化到磁盘上,像sqlite一样,简单的将数据库的数据保存到一个磁盘文件上。二 实现原理image.png我们上次已经将数据库的数据持久化到一块4kB的内存块上,可以方便的将这块内存持久化到文件上即可,具体实现步骤:我们定义一个抽象结构Pager,这是对文件结构和页面的综合抽象。...

2023-01-26 21:43:05 746

原创 实现自己的数据库一

一 前言从上篇原创文章到现在又是新的一年,今天是2023年的大年初三,先在这里祝各位亲爱的老铁们新年快乐,身体健康,在新的一年里更帅气、更漂亮,都能完成自己的小目标。一直以来,我对数据存储还是比较感兴趣的,计算机从大的抽象层次来说,只干了三件事情,存入数据,计算,输出数据。所以数据的存储和搜索可以说是占据计算机的大半功能了。在工作中,也自己设计过一些存储和索引,不过是简单的哈希表的结构存储,对以B...

2023-01-25 17:53:29 1421 1

原创 一款新兴的操作pcap的神器

一 前言有机会接触到这款软件,还是同事的一个图,图介绍了开源项目Zed和基于Zed做的一款全流量安全产品Brim。整个产品其实是不少开源项目的一个小集成,只所以感兴趣,除了brim在github有1.5k个star的原因外,更吸引我的是它使用了一种新的数据结构,超结构化的数据模型,通过这种结构可以集数据的压缩、索引、数据的分析于一体,而不用数据存储的各类数据库、NoSQL,简单方便。二 Zed和它...

2023-01-07 22:54:02 1112

原创 全网第三详细tshark使用帮助

一 前言tshark作为wireshark的命令行版本,功能非常强大,可以抓包,数据包分析、提取文件、提取分析后的数据还支持各种格式,可以说一把流量分析的瑞士军刀,如果在低流量的场景,包装下tshark命令,就可以做个功能比较丰富的分析系统了,结合检测规则,一个简单点的IDS系统就出来了。二 核心功能2.1 抓包如同tcpdump一样,tshark也可以通过命令行方式进行流量捕获,功能一点也不弱。...

2022-12-11 00:00:10 6205

原创 Elasticsearch好用查询插件分享

以前我常用的ES查询工具是Head,作为插件形式在浏览器中运行,挺方便的,后来发现head不太好用,比如在数据浏览的时候,不小心就点击了两个索引,背景色设置的还不够明显,比较容易看错数据的。于是想找个更好用的工具,以前用过cerebro 觉得界面够酷,但是我觉得cerbro作为es的插件运行的挺麻烦,我想找个类似head这种方便的浏览器插件。一 Elasticvue这个作为一个浏览器插件运行,类似...

2022-12-03 11:13:46 2931

原创 Linux内核中的一个list实现的理解

一 C中宏的应用如果我们写个排序方法, 用c语言实现的话,由于没有通用的类型,也没有c++的模板,没有java的泛化,这样不同的数据类型,我们就要实现多个排序方法,比如实现个int的排序方法,实现double类型的排序方法,但是这样重复的代码很多,其实可以用宏来实现。同样有个需求要我们写个list,如果里面保存的数据类型不同,就要实现多个,这种实现方法会有太多代码重复,用宏实现是个不错的思路,用宏...

2022-09-30 21:12:45 429

原创 代码格式化工具AStyle简要说明

一 安装1.1 windows下安装astyle是代码格式化工具,可以配合vs code的插件进行代码的方便格式化,也可以作为命令行工具单独运行:下载地址:https://sourceforge.net/projects/astyle/files/1.2 vs插件安装配置格式化格式:/*AStyle*/"astyle.additional_languages":["c",...

2022-09-23 20:22:09 1048

原创 静态检查工具scan-buid简要帮助

一 安装说明scan-build是clang源码中的静态代码分析工具,安装的时候需要注意和clang的版本要保持一致才可以,网上的有一个python版本,但是我安装后无法使用;1.1 linux下安装#centos 下安装yum -y install clang-analyzer#或通过dnf安装sudo dnf -y install clang-analyzer二 使用说明2.1 lin...

2022-09-22 20:23:27 764

原创 从select引起的bug聊聊多路复用二 poll

一 前言select最多支持1024个连接,且连接的文件描述符的最大不能超过1024个,如果程序打开了很多文件,或用了2MB这种大页内存,可能会导致打开的文件超过1024,从而使unix socket 产生莫名其妙的问题,poll这套IO多路复用机制和select的用法很像,采用链表而不是采用位图的方式,突破了1024个套接字的限制,本文就是用poll重新实现前篇的功能。二 poll2.1 pol...

2022-09-18 08:17:53 148

原创 从select引起的bug聊聊多路复用一

一 前言首先祝大家双节过的开心,平安喜乐!很久没写文章了,主要自己还在沉淀,学习类的分享总觉得为了分享而分享,多几天可能自己都记不清细节了,所以一直没有再去写,这次遇到一个比较有意思的bug,多路复用的一个bug,这个领域那,虽然自己也学习过,但是一直也没写过代码练习,就这个机会就一并练习下,可能对高手来说这是稀松平常的问题,却耗费了我们一天左右的时间进行问题的排查。二 问题描述和排查步骤我们有个...

2022-09-11 21:08:44 412

原创 内存泄漏还可以这样查

一 前言对于C或C++程序员来说,面对的bug很大部分是内存操作问题,这其中比较令人头疼的就是内存泄漏了,虽然我们有valgrind 和AScan等内存问题的检测工具,但是valgrind每次输出一大堆,AScan有时候看输出结果看的是云里雾里的。再说,谁会嫌弃工具箱里面多个工具那。二 内存泄漏的一般检查2.1 基本准备内存泄漏问题的检查步骤,对于做过c或c++同学都比...

2022-07-31 07:00:59 4001

原创 隐藏crontab和键盘记录密码

一 前言前几天朋友发一个文章,是关于crontab的隐藏的,涨姿势了,所以就学习下,觉得还蛮实用的,于是有了这篇文章。二 crontab隐藏2.1 从一条命令说起以下命令比较奇怪,我们明明输入文件内容是"abb\rocddde" 但是直接用cat输出的时候是\r后面的内容。这里面 echo -e 表示启用反斜杠转义的解释即\r 表示回车。root@ubuntu-lab:/...

2022-07-24 14:38:54 516

原创 Linux下内存情况分析

一 前言内存对于系统资源来说,非常重要,内存问题可以导致系统延迟增大,系统内存泄漏,进程被kill等多种严重问题,所以分析进程的内存占用很有必要。本文重点分析了程序中动态申请内存的情况。注意所有测试是 5.13.0-52内核条件下测试的,不同的内核测试环境,内存分类可能很大的不同。二 程序内存结构在linux 32位系统中默认虚拟的内存布局如下:说明:在linux中每...

2022-07-10 17:22:18 2134

原创 神奇BPF6 bpftrace搞个小后门

一 前言其实我都没怎么用过其他的后门程序,记得在kali系统上的有些攻击工具自动反弹shell,通过shell来进行远程的连接,还有的就是利用nc,这个比较简单了。啥是后门,我觉得就是给自己留个方便进出的通道,本来自己已经拿下这台机器了,结果动作太大,被发现了,一顿清理,成果就这样没了,所以要留个隐秘的方便的通道,这样防止已经再用的连接丢失啊,在后悔就晚了。那么什么是个好...

2022-06-18 22:58:36 218

原创 利用ebpf优化负载均衡器

一 前言好久没写文章了,最近忙于抉择,搞的心好累,左右不知道哪条路对自己是最好的,风险与收益并存,是稳扎稳打还是冒一次险,换来的后面的顺畅,我不知道怎么选,左右想法一直在打架。言归正传,ebpf学了一段时间了,开始觉得自己还是了解一些,但是其实差距还有点大,这篇文章是学习ebpf的课程的一篇试验文章,主要是基于ebpf的网络程序,难度比以前学的大,加之新学,只能从模仿试验...

2022-06-12 19:13:25 812 1

原创 开源web小工具神器

一 概述工作中,经常需要一些小工具来做一些转换,比如base64编码的转换,比如URL Encode 和URL Decode,甚至在产品中也提供了这样的小工具,方便客户使用,不过基本都是简单的命令,如果复杂点的,比如base64编码转换了10多次,或者用AES加密的内容,这样的处理,就需要自己写代码处理,或者遇到了几种转换的组合也需要自己去实现,今天发现开源的Web小工具...

2022-05-29 22:53:43 1529

原创 C语言坑二

一 前言C相对其他语言来说比较古老了,单从语法来说看似简单,其实也有不少坑的,稍有不慎就中招。二 有符号和无符号的坑2.1 有符号的移位操作上代码:#include<stdlib.h>#include<stdio.h>staticvoiddivide_by_two(intnum){while(num){...

2022-05-28 22:36:31 109

原创 C语言面试常考的函数和坑

一 前言思维还是比较奇怪的东西,面临未知的时候充满了谨慎,对于自己稍微熟悉的东西,又会犯自大的问题,从而有些理所当然了,所以任何时候谨慎是个好习惯,用任何函数的时候多读读API的文档说明,可以避免不少坑的。根据我的经验来说,任何自己忽略的事情,总会让自己付出代价,或早或晚,还是那句话,出来混,底子要扎实了,不然早晚会还的。二 容易出差的函数2.1 snprintf返回值对...

2022-05-21 17:35:23 163

原创 一文理解Docker的网络模式

一 前言根据上篇知识了解到,通过设置不同的网络空间来达到网络协议栈的完全隔离,对于不同空间的协议栈是完全隔离,每个网络空间都可以有自己的iptables来进行单独的转发过滤等,不同的网络空间默认无法进行网络通信的,但是通过veth可以把两个不同的网络空间打通达到通讯的目的,前一篇文章也进行了相关的说明。二 Docker的网络模式2.1 桥接模式Docker的默认使用的是l...

2022-05-05 20:21:57 190

原创 虚拟网络环境试验

一 前言本来这几天研究eBPF的xdp的,虽然阅读了不少资料,但是测试代码仍然有问题,所以耽误了,在测试过程中发现了虚拟网络环境,又是自己没有接触过的,所以研究下,挺有意思的,写了篇文章分享下。简单来说,就是构建一套虚拟的网络环境。二 交叉线和veth如果玩计算机比较早的朋友,如果没有路由器,集线器这些通讯设备,我们两个计算机想连接打个CS啥的,也是有一种办法的,就是采...

2022-05-04 13:32:02 1084

原创 程序core了,调试看到的还是问号

一 背景C程序发布的时候,经常去掉-g编译选项的,那么这就遇到一个问题,当程序运行core dump后,想去调试查看core的具体信息,会发现很多符号都被优化掉了,看到的栈信息要么是问号,要么变量无法打印值;去掉符号表,却可以让程序体积更小,而且不容易泄漏程序的信息,更安全些。这就产生了矛盾,我们在运行的时候不需要符号表,调试的时候需要符号表,那我们能否把符号表在发布程序...

2022-04-30 20:46:58 498

原创 eHIDS 一款基于eBPF的HIDS开源工具

一 前言IDS一般指入侵检测系统。入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。HIDS全称是Host-based Intrusion Detection System,即基于主机型入侵检测系统,部署在主机内的,主要是对主机的异常行为进行检测,比...

2022-04-17 16:28:52 1115

原创 eCapture 可以抓https明文的神奇工具

一 前言前段时间,一直对eBPF感兴趣,也写了一些eBPF的入门介绍文章,朋友就发来个连接说这是一个好东西,我看,是利用eBPF来实现的,刚好最近在研究,所以就有了这篇的介绍文章。二 eCapture 是什么官方介绍如下:eBPF HOOK uprobe实现的各种用户态进程的数据捕获,无需改动原程序。SSL/HTTPS数据导出功能,针对HTTPS的数据包抓取,不需要导入C...

2022-04-09 16:17:12 1365

原创 一篇理解快速排序

一 前言算法对于程序员来说,是一个不得不去过的门槛,除了面试,工作中用到的机会却很少,偶尔用到的算法都有封装好的库调用下,就可以了,少有机会去写一个,偶尔有机会写个和算法相关的函数,可能心中也有几分忐忑,没有充分测试,总是怀疑其中隐藏什么大bug,在不该爆发的场合突然爆发,留下的一地的尴尬。更可气的是,算法学起来的时候看起来都明白了,很简单嘛,真正动手去写的时候,却很难写...

2022-04-04 11:20:05 247

原创 利用autotool工具编译和安装

平时自己写的程序多是直接写Makefile,大型的开源C代码,多是通过autotool工具来生成,需要学习下。为了具备通用性,用工作中实际程序来测试。一 用autoscan生成configure.scan步骤很简单,解压程序后,在源码目录运行autoscan就会生成configure.scan 如下:#autoscan#llconfigure.scan-rw-r...

2022-03-26 12:56:41 764

转载 B站大佬工作感悟

今天无意中,在B站点看到了一位大佬分享的快乐工作的感悟,对我很受启发,所以简单总结分享出来。一 敢问问题问根本问题,用直接的,简洁的,彻底的方式。经过思考后,提出问题总是好的,哪怕这个问题...

2022-03-20 22:07:46 108

原创 神奇的BPF四 用bpftrace 开个后门

一 前言前面的文章聊到bpftrace,这是个强大简洁的编写bpf程序的利器,内部的语法看起来比较容易,功能一点也不弱,比如我们想查看现在系统中谁在执行什么程序:[root@localho...

2022-03-13 09:54:11 667

modbus_test_data_part1.pcap

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。

2020-04-22

Apache Kafka的过去,现在,和未来

Apache Kafka的过去,现在,和未来,讲的不错,是ppt,有兴趣可以看看。

2018-12-10

2018年Elastic中国开发者大会闪电演讲材料-Bboss ES简介

2018年Elastic中国开发者大会闪电演讲材料-Bboss ES简介

2018-12-10

Glibc手册英文

glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万象。而就像其他的 UNIX 系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整个操作系统。在 GNU/Linux 系统中,其C函式库发展史点出了GNU/Linux 演进的几个重要里程碑,用 glibc 作为系统的C函式库,是GNU/Linux演进的一个重要里程碑。

2018-10-11

PCAP的API说明

libpcap的API说明,很有用,查阅起来非常方便,虽然都是英文的。

2017-12-04

IDS和IPS讲解

IPS检测攻击的方法也与IDS不同。目前有很多种IPS系统,它们使用的技术都不相同。但是,一般来说,IPS系统都依靠对数据包的检测。IPS将检查入网的数据包,确定这种数据包的真正用途,然后决定是否允许这种数据包进入你的网络。 IDS和IPS系统有一些重要的区别。如果你要购买有效的安全设备,如果你使用IPS而不是使用IDS,你的网络通常会更安全。 台湾人的PPT,写的还可以。

2017-12-04

sysmbian移动开发讲义

sysmbian移动开发讲义,架构说明,可以看看,不过是英文的。

2010-06-20

python2.0web架构(豆瓣架构师的讲稿)

豆瓣架构师的讲稿,大体看了下,很好,里面有不少python的技巧,推荐下载看看。

2010-05-12

空空如也

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

TA关注的人

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