自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分享一些服务端请求伪造SSRF的笔记

分享了一下服务端请求伪造SSRF的学习笔记,适合不知道什么是SSRF的新手

2025-07-05 16:24:35 995

原创 盘一下如何用SQLAlchemy

还是因为要开发fastapi应用,想操作数据库,就得考虑方式SQL注入的问题,不能跟这篇帖子展示的那样直接拼接sql:而是得用SQLAlchemy,所以,这篇盘一下如何用SQLAlchemy。直接去https://pypi.org/project/看看有没有资料,很稳:【省时预警】:肯定是原文写得好,既然链接都贴出来了,我这里看懂啥就写啥,本预警不再重复SQLAlchemy可以用来把数据库表的记录映射成对象;

2025-06-25 16:59:24 784

原创 终于找到学习SQL的好资料了

本文介绍了作者学习SQL外键约束的过程。首先通过咨询AI找到MySQL官方文档参考资源,在dev.mysql.com/doc/refman/8.0/en/中查找到相关内容。重点解析了外键约束的定义:涉及父表和子表,子表引用父表列值。通过示例说明FOREIGN KEY和REFERENCES的用法,并详细解释了ONDELETE CASCADE和ONUPDATE CASCADE的作用机制(删除/更新父表记录时自动处理子表对应记录)。最后补充了cascade一词的含义。文章以简洁明了的语言分享了外键约束的核心知识点

2025-06-23 15:43:53 862

原创 简单盘了一下python里的with

结合pymysql的例子,考证了一下ai关于python的with statement会自动回收使用数据库连接时申请的资源这个说法是否为真

2025-06-20 11:54:57 658

原创 收集了一些用python做mysql增删改查的资料

本文介绍了在FastAPI应用中通过PyMySQL和DBUtils实现MySQL数据库连接池的方法。主要内容包括:1)搭建Python3.9环境并安装PyMySQL;2)创建MySQL测试表和基础CRUD操作;3)使用DBUtils的PooledDB创建线程安全的连接池;4)整合FastAPI路由实现数据存储接口。作者分享了配置过程中遇到的问题和解决方案,如连接数监控、DB-API2标准适配等,并提供了官方文档和AI辅助学习的心得。虽然实现基本功能,但作者表示对连接池底层机制仍需深入研究。

2025-06-19 17:13:25 797

原创 考古一下如何搭建可用的mysql环境

更多可以去看mysql词汇表,链接为https://dev.mysql.com/doc/refman/8.0/en/glossary.html。刚才的2步操作都是参考https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization.html。可以启动mysql server服务,测试可用性了。链接为https://dev.mysql.com/doc/refman/8.0/en/innodb-storage-engine.html。

2025-06-17 15:44:39 678

原创 搭建了一个开发fastapi应用的环境

本文讲述如何搭建fastapi环境,嵌套着如何从从linux系统搭建python开发环境的内容

2025-06-16 10:28:46 872

原创 用wireshark抓了个TCP通讯的包

我这里用一个内网ip为192.168.1.183的windows 10办公电脑启动服务端,从内网ip为192.168.3.240的办公的笔记本上启动客户端、启动wireshark抓包,然后把每一步操作都写下来。从笔记本上启动wireshark,选择从无线网上抓包,设定只捕获过和192.168.1.183:8080的tcp通讯:tcp port 8080 and host 192.168.1.183,现在我们启动了服务端,等待客户端连接(注意光标的位置,阻塞、等待客户端连接)。

2025-05-30 16:12:29 1168

原创 捋捋wireshark

本文介绍了Wireshark的基本功能和安装使用方法。Wireshark是用于网络封包分析的软件,可用于流量抓取和分析,适用于网络管理、安全检测、质量验证等多种场景。文章提供了官方文档和下载链接,详细说明了在Windows系统下安装Wireshark的步骤。重点演示了如何使用Wireshark抓取ICMP协议数据包,包括选择网口、设置过滤规则、开始捕获、保存数据包等操作流程。通过ping百度网站的实例展示了捕获请求和应答数据包的过程,适合初学者快速入门Wireshark的基本使用。

2025-05-29 18:44:45 629

原创 又双叒叕想盘一下systemd

上边的图上,每个链接我都点进去了看了,没有很直接有效的示例,那换个思路,找个空系统,安装个redis,再去看看/usr/lib/systemd/system/redis.service里都是啥,以及都是什么意思。systemd引入2种解决方案,Socket Activation,即服务不立即启动,先由systemd监听端口,当第一个连接请求到达时,systemd才启动服务、移交套接字;除了开头拿一部分,至刚才的内容都是参考AI的回复,我这里只图个大致的认识,眼下就不逐条考证真实性了。

2025-05-08 18:25:46 516

原创 说说es配置项的动态静态之分和集群配置更新API

如果是从本地硬件上运行Elasticsearch,那么建议使用cluster update settings API来配置动态配置项,配置文件elasticsearch.yml只用来管理集群/节点的静态配置项,这是8.1版本的文档,页面上面说到已经不再推荐使用临时配置项了,因为如果集群不够稳定,临时配置项就会失效,这经常导致一个“用户实际上并没有得到自己想要的集群”这样的状态;这效果可以,虽然这个查询方式无法直观得显示是个永久配置or临时配置or系统默认值,但这个不难,先继续。

2025-05-07 16:12:02 1327

原创 最近在盘gitlab.0.先review了一下docker

要说盘gitlab,没有个环境用来练习是很难的,或者说都不会搭建环境,那就是没根儿。所以怎么搭建环境呢?公司的这个是2个docker容器,一个gitlab实例的,一个nginx的。好了,开始第一次跑题,说一下docker。

2025-01-08 22:45:00 1144

原创 找到一个linux静态库动态库的好资料.3

总结一下:/usr/lib/libreadline.so.3是个“fully-qualified soname”,它通常是个由ldconfig创建的软连接,指向一个真实名类似 /usr/lib/libreadline.so.3.0的共享库文件;还有一个链接器使用的名字linker name,/usr/lib/libreadline.so,它是指向/usr/lib/libreadline.so.3的软连接,通常是手动设置的。/etc/ld.so.cache是一个二进制文件,保存了动态库的列表;

2024-12-28 13:07:51 986

原创 找到一个把代理与反向代理讲得很清楚的资料

关于什么是代理与反向代理,其实ai给的回复基本是正确的,但我还是希望能找到一个更简单清晰的说明,所以搜索了一下,找到cloudflare.com(尾注1)学习中心的一个链接:这个链接讲的是“reverse proxy”,但为了说清楚反向代理如何工作以及能提供的好处,就先讲了下什么是forward proxy(正向代理)。forward proxy,就是一个介于(多个)客户端与目标网络之间的一个服务器;

2024-12-25 18:32:37 1050

原创 找到一个linux静态库动态库的好资料.2

我还没能查到这三个词在中文资料里的规范叫法是什么,也不想查,因为感觉“静态库”、“共享库”、“动态库”已经足够清晰了,所以下文就用这三个说法了,加不加双引号反正都是这三个意思。原文作者提醒了这个事情:共享库在有的地方被叫做 dynamically linked libraries,缩写也是DLL,我想这大概是中文资料里经常只说“静态库”和“动态库”的原因,想来美国人阅读某些资料可能也是和我们有一样的困惑:中文里动态库有“共享”和“动态”两个意思,英文的DLL也是如此这般,好吧,我心理平衡了一点儿。

2024-12-25 17:25:25 1364

原创 找到一个linux静态库动态库的好资料.1

实际上不使用好像也没问题,大概因为原文是2003年的文档,后来新版的gcc不需要这个了,这不是重点,验证过程放到endnote1,继续。注意,这里不需要告诉gcc去哪里查找libhello.so.0.0,因为只有执行的时候才加载libhello.so.0.0,但是需要使用gcc的-ldl选项以包含加载动态库的那些库。原文很好懂,所以我这里算是写一下自己学到的东西,不是翻译,也不按顺序,先整理一下静态库、共享库以及动态库的最简单例子,因为觉得有人会喜欢看一下这个然后自己研究。//调用函数hello()

2024-12-24 18:08:10 1045

原创 找到一个linux静态库动态库的好资料.0

比如想让编出来的可执行程序hello像尾注1最后那个图的红箭头指向了/usr/local/lib/libthanks.so,这个用术语来讲叫什么呢?只好先把现象告诉文心一言(尾注2),从回复中注意到编译时需要使用gcc的-Wl选项指定一个rpath参数,先说说一下怎么找到的吧。但是,在不知道怎么搞之前,这里就有很多问号啊,而且都不知道怎么表述自己的疑问,看了下tldp.org,挺权威的网站啊(尾注5),那就看它吧。好说,先这样,再那样,就ok了,具体写到尾注1了。

2024-12-24 11:16:59 275

原创 想弄个ES集群结果所有节点都各玩各的

上个月出差去氪户那支持个事情,发现有个es集群的3个节点实际上是各玩各的,根本没成功组建成一个集群。没辙,继续读官网的文档吧。今天读这个:还是按我自己的理解写哈,看懂多少写多少。第一次启动集群时,需要明确指定master-eligible节点列表(标签1)。这个操作只需要在集群首次启动时做就可以了,因为一旦节点加入了某个集群,它便把“有哪些master-eligible节点”这个信息保存在数据目录(尾注1);

2024-12-12 22:19:47 769

原创 捋捋密钥和证书这点儿事儿

第三步,用户浏览器访问www.bank.example时,网站将签名S返回给用户,用户浏览器尝试使用CFCA发布的Kcpu解密签名S,如果能解密成功就可以拿到Kbpu,即得到“一个被CA认证过的公钥Kbpu”,如此,就确认这是经过CFCA认证的(玩法一、尾注16)多说一句,根据已经看过的资料,我有一种这样的感觉,即非对称加密就是为了协商一个对称密钥而设计的,但我没查到比较确定的说法,只是因为尾注6和尾注9所提到的词条,在介绍历史背景时都提及了非对称加密算法之前需要用安全的物理方式传递对称密钥。

2024-12-12 10:57:02 1154 1

原创 看了下elasticsearch官网的Discovery文档

日志还可能提示es发现的节点数量到达了主节点选举的法定数,这种情况下,选不出主节点的原因通常是:仍有个别节点不知道集群已经“联系到了足够的节点”,就需要检查各master-eligible nodes节点的日志,确保每个节点都知晓“集群已经联系到足够的节点”(尾注5)。如果节点是master-eligible 节点,它会一直运行discovery process,直到发现一个被选出来的主节点,或者发现足够多的master-eligible nodes然后发起选举(尾注4)。排错时,要看最近5分钟的日志。

2024-12-09 23:57:50 701

原创 试着说下linux文件模式字的SUID位吧

找了下相关的开发人员,其中的一位告诉我,那个用于重启XX服务的脚本并非以/usr/bin/bash来执行,而是以某个设置了SUID位的可执行程序(就说是bash-a吧)来执行,那么就可以把问题定位到bash-a了。从这里开始,为了表述的简洁性,就只说用户的id事情,不再带上组的事情了,即只用实际用户ID、有效用户ID、保存的设置用户ID来说明我们要讨论的主题。实际用户ID,标示“实际上我们是谁”,即当前登录到系统并创建进程的用户,是哪个id(尾注2)。不过本文主题已经说清楚了,就不宜过长,后边再单独说吧。

2024-12-07 13:37:12 880

原创 elasticsearch集群的主节点选举

否则不会有这个效果。这个很重要:当集群有节点加入或离开后,集群的主节点会提议更新集群状态(因为需要调整voting configuration),因为需要voting nodes的半数以上做出应答,所以要完成这个动作需要一点时间。选举集群的主节点,以及变更集群状态这两个任务,是需要master-eligible nodes(拥有主节点候选资质的节点,尾注0)共同做决策的。想到这,就抓紧去问当事人"当初做节点是不是作为data node",得到答复曰"这个太早了,当初也不是我部署的,记不住了"。

2024-12-05 17:25:41 1307

原创 想弄个虚拟机部署git用来拉取内网gitlab上的代码

鄙人现在所在团队的产品代码在一个本地的gitlab上,之前没接触过这个,虽说开发环境可以直接执行git pull,但是想多认识一点gitlab和git,就从搭建一个可以使用git客户端的工具开始吧。所以看起来添加了公钥只是gitlab允许某个终端以密钥认证的方式SSH登录并pull代码。有了这个,配上自己搭建的gitlab环境,就可以各种盘而不怕影响到团队的开发环境了。我的虚拟机环境是龙蜥8.6,直接使用官方源yum install git就可以了。2、从gitlab配置安装了git客户端环境的公钥。

2024-12-04 23:31:55 510

原创 遇到了个PF_RING驱动加载不了的问题

实现细节包括一个套接字,user-space applications可以通过这个套接字与PF_RING的内核模块交互,收到的数据包被PF_RING内核模块拷贝到ring里面(尾注2),以便user-space applications可以读到。作为初学者,我得先了解下PF_RING是个什么东东。github的仓库地址:https://github.com/ntop/PF_RING,我从下图所示的地址上下载了一个zip包,发现和公司产品用的很想,大概就是下载了这个然后根据产品需要做了些许改动吧。

2024-12-04 17:08:46 992

原创 TLS通讯密钥是如何做到不被破解的

然后,A进行某种计算得到g(a, f(r, b)),B进行某种计算得到g(b, f(r, a))。同理无法通过r和f(r, b)得到b;2、当前地球人拥有的算力规模无法通过r、f(r, a)、f(r, b)三个值得到g(a, f(r, b))。上文只是为了重点介绍:即使得到了A、B用于交换时的私钥、破解得到了明文的r、f(r, a)、f(r, b),也无法得到会话内容的加密密钥g(a, f(r, b))。A拿到B的混合色,再调上自己的秘密颜色红色,得到黄色、红色、青色的混合色,即g(a, f(r,b));

2024-11-01 23:40:34 1070

原创 大白话讲一下TLS吧

在通信的两端协商一个对称密钥(symmetric key),以用于后续的加密和解密通信因为非对称密钥对若干应用场景来说,效率太低The mathematical relationship between public and private keys means that much larger key sizes are required.The recommended minimum key length is 1024 bits, with 2048 bits preferred, but this

2024-10-27 00:28:24 770

原创 Linux打包命令tar极简示例_2

这是tar包:只解压a.txt:上边的例子不大理想,再来一个tar包里带目录的:

2024-08-15 23:56:16 628 1

原创 读懂路由表条目

(1)路由表保存了已连接的网络:maintain a map of connected networks(2)路由表保存了不同IP地址的路由(器)地址,原文:(3)路由表的生成可以是动态的,也可以是静态的。

2024-08-09 00:14:30 1680

原创 Linux打包命令tar极简示例_1

如果我们把/tmp/t.tar.gz拿到另一个环境的/root/目录,只需要执行命令就是tar -Ppzxf /root/t.tar.gz,就可以看到有/data/txt目录以及其下有内容了。我看到解包命令中包含-P,以为压缩包里就是包含绝对路径的,也没多看,就直接告诉了现场的同学使用tar -Ppzxf xxxx.tar.gz命令解压即可;总之,加了这两个选项打出来的包,放到另一个环境上(按下图所示的命令)解包,就可以做到解包得到的文件绝对路径、属主属组、权限与打包时的环境一致。

2024-08-08 23:50:55 961

原创 linux打包命令tar极简示例_0

那么如何解压缩上文的t.tar.gz呢?假设我们把t.tar.gz拿到了/root/doc-1/目录,然后我们cd到/root/doc-1/,执行解压命令tar -zxf t.tar.gz -C ./假设我们把上文的t.tar拿到了另一台主机的/root/doc/目录下,然后已经cd到/root/doc/目录下,解压命令是:tar -xf t.tar -C ./那么,我们在/data/txt目录下执行命令tar -cf t.tar a.txt b.txt c.txt,就会得到一个t.tar。

2024-08-05 23:35:36 324

Wireshark-win64-2.6.3.zip

zip包md5sum值为99F22D769C2996A4C1DF081F091885DB,没有解压密码, 解压后得到一个MD5sum值为C6A0CACD4FBA50D886C2629A140AE8F8的Wireshark-win64-2.6.3.exe

2025-05-29

空空如也

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

TA关注的人

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