- 博客(101)
- 收藏
- 关注
原创 oslo_i18n学习小结
代码均为开源代码基于yoga版本,需要对openstack某服务做翻译,了解到oslo_i18n有翻译功能,配置oslo_i18n来给组件进行翻译。
2024-07-12 08:58:34 843
原创 python网络编程-TCP/IP
帧组成(按顺序):目标MAC:6B源MAC:6B类型:2B数据:46B-1500BCRC:4B其中,源MAC为主机网卡地址,类型为来源网络层的数据类型,ipv4为0800,arp为0806,pppoe为8864,1qtag为8100,ipv6为86ddpython可以通过uuid模块获取到本机mac地址。
2024-07-07 17:30:56 958
原创 py黑帽子学习笔记_burp
kali虚机默认装好了社区版burp和java,其他os需要手动装。burp是用java,还得下载一个jython包,供burp用。
2024-07-02 14:35:39 138
原创 debian打包小结
业务需要,打一个openstack组件的deb包openstack组件有setup.py可直接支持打rpm包,但不支持deb包,所以手动打deb包用了dh_make准备打包文件,然后用debuild或dpkg-buildpackages打deb包。
2024-06-25 16:41:02 779
原创 springboot学习小结
spring提供一个容器称为spring应用上下文,容器里可以创建和管理组件,组件会在容器里装配好,组件也可以叫bean。装配不由组件创建他依赖的组件,依赖的组件由容器创建并统一管理,通过一种基于依赖注入的方式去管理组件spring boot是spring的扩展,提供很多生产效率方面增强,比如自动配置(减少了spring传统的xml配置和java配置)
2024-06-13 15:00:31 297
原创 java学习笔记
java由Sun Microsystem于1995年推出,可运行于多个操作系统,android很多代码采用javajava是java语言和java平台的总称,后来Sun被Oracle收购,成为Oracle产品java有javaSE(标准版),JAVAEE(企业版),JAVAME(微型版)java1-10对应jdk1.1-jdk1.9 对应,java10以后jdk版本就变成形如jdk10jdk8,jdk11, jdk17是LTS版本。
2024-06-12 11:56:53 620
原创 oslo_rootwrap学习小结
参考官方文档与部署环境学习ceilometer yoga版本一个ipmi指标hardware.ipmi.node.power采集主机电源功率,存在两个问题:1默认采集逻辑只能在intel平台跑,无法在非intel跑, 2无rootwrap daemon情况下无法采集。解决这两个问题的过程用到了rootwrap。
2024-06-06 14:27:00 232
原创 py黑帽子学习笔记_web攻击
py3好像把urllib2继承到了标准库urllib,直接用urllib就行,urllib2在urllib里都有对应的接口。
2024-05-30 15:42:58 1157
原创 ceilometer yoga版本小结
包含组件ceilometer-agent-compute和ceilometer-agent-central,hardware的主机指标合并到central里了。
2024-05-23 11:36:40 430
原创 计算机网络学习小结_网络层
是否保证可靠传输:网络层不保证可靠传输,只提供尽最大努力交付。网络层发数据不用先建立连接。因此网络层设备比较简单,比如路由器,无需保证准确传输,网络层造价成本大大降低,准确传输由传输层保证。
2024-05-19 12:24:32 1459
原创 计算机网络学习小结_数据链路层
帧:数据链路层传输基本单元。链路层将网络层传过来的数据构成帧发到链路上,并将发到链路层的帧取出数据交给网络层数据报/分组/包:网络层传输基本单元。
2024-05-19 10:53:55 414
原创 计算机网络学习小结_物理层
单工,半双工,全双工基带信号:信源发出的信号,如计算机输出的文字和图像都是基带信号。基带信号常包含较多,有的还有直流成分,有的信道不能传输低频成分和直流成分,此时需要对信号进行基带调制:对基带信号调制,仅对波形进行变换,调制后的信号仍为基带信号带通调制:对几代信号的频率进行调制,调到较高频率,转换为模拟信号,调制完的信号叫带通信号。
2024-05-18 14:17:35 373
原创 计算机网络学习小结_概述
因特网起源于美国,现已发展为世界最大的国际性计算机互联网网络概念:由若干节点和连接节点之间的链路组成。节点可以是计算机,集线器,交换机或路由器等。网络的网络也可以通过路由器连接起来,因此互联网是网络的网络,网络把许多计算机连接在一起,因特网把许多网络连接在一起因特网发展三个阶段第一阶段:从单个网络ARPANET向互联网发展的阶段。第二阶段:构成了三级结构的因特网。NSFNET是一个三级网络:主干网,地区网,校园网(或企业网),网络使用量急剧扩大,政府机构无力维持其运转,转交私人机构运作,同时开始收费。
2024-05-18 13:43:03 683
原创 py黑帽子学习笔记_网络嗅探器
目的:发现一个网络内有多少存活主机原理:如果目标主机udp口没开一般会返回一个icmp响应,收到这个响应则表明目标主机存活。如果开udp口了则可能无响应,无法判断主机是否存活。选udp是开销较小setsocket是抓包时包含包的IP头当判断是windows系统时,会开闭网卡混杂模式,通过socket.ioctl方法实现开闭验证效果如下图,先开一个窗口执行该脚本,则机器作为服务器运行,在其他窗口ping这个机器,服务器会打印详细信息。
2024-05-18 12:03:12 1281
原创 开源aodh学习小结
aodh是openstack监控服务(Telemetry)下的一个模块,telemetry下还有一个模块ceilometer。
2024-05-13 14:43:20 1437
原创 py黑帽子学习笔记_环境准备
下载一个kali虚机镜像然后用虚机管理软件创虚机,装完如下图,我用的版本是2024.1的版本kali-linux-2024.1-installer-amd64,可以从镜像站下载,官网下的慢还断网。
2024-05-11 10:55:27 435
原创 effective python学习笔记_类与接口
怎么做 多个属性时,将每个属性定义为实例属性,可以考虑namedtuple(namedtuple无法对属性设定默认值,如果需要可以使用内置的dataclasses模块)思想 当用内置类型如字典元组等结构出现超过二层的多层嵌套结构时,读起来会比较难懂,此时建议通过定义一批新类实现一套新体系,这样可以定义良好清晰的接口,并合理封装数据。namedtuple局限 1实例属性无法设置默认值 2虽然namedtuple但仍可以通过下标访问实例属性。虽然代码多了,但看的应该更清晰。
2024-05-10 18:45:28 243
原创 effective python学习笔记_推导与生成
总结 1序列推导使用赋值运算符可简化代码提高可读性 2赋值运算符在序列推导里的定位位置建议优先在if中定义。
2024-05-09 13:59:29 709
原创 effective python学习笔记_函数
局限性:当返回参数过多时,有时会搞混哪个是哪个,可能返回的两个值反了解决方法:如果参数过多,可以组装*变量返回,或者自定义轻量类型或namedtuple返回。
2024-05-08 15:09:57 255
原创 effective python学习笔记_列表与字典
实现了__getitem__类即可支持切片,实现了__setitem__类可支持切片赋值切片时下标索引可以越界,但按下标访问元素不可以越界,会IndexError可以通过切片赋值不相等数量元素实现元素添加或赋值切片不建议同时提供起始下标和步进,一次切片只用其中一个就行,如果两个非要用建议两次切片,因为同时写会比较难懂。两次切片时,第一次用步进还是起始下标,可以看用哪个获取的切片最短就用哪个,因为切片是浅拷贝,元素越少越省内存。
2024-05-08 14:10:32 529
原创 流畅的python-学习笔记_协议+继承优缺点
python动态语言,没有interface等概念,接口和协议方法有的也有替代品,所以类似于鸭子类型,只关注行为像鸭子,不关注它是不是鸭子。不是每个接口都得实现,这是允许的。
2024-05-07 16:37:50 302
原创 流畅的python-学习笔记_符合python风格的对象
查看对象说明,可以通过__repr__和__str__方法,前者主要用于开发者,后者主要用于用户,这两个方法分别对内置函数repr和str函数提供支持。
2024-05-07 00:49:07 354
原创 流畅的python-学习笔记_设计模式+装饰器+闭包
类继承abc.ABC即实现抽象类,方法可用abc.abstractmethod装饰,表明为抽象方法。
2024-05-06 17:29:53 549 1
原创 流畅的python-学习笔记_字典、集合、文本和字节序列
setdefault:操作便捷,类似列表生成,省代码行defaultdict实现了__missing__方法,当访问不存在的键时,如果有__missing__方法,则执行该方法,若未实现该方法,则报异常KeyError。但dict没实现__missing__方法,所以键不存在时直接KeyError。__missing__方法只会被__getitem__方法调用。
2024-05-06 15:22:02 181
原创 keystone学习小结
middleware在客户端和服务端之间,会拦截客户端请求并判断请求身份是否是正确合法的,若是,则继续将请求发给其他middleware或app具体看,干了这些事 1将请求里的auth header去除,防止伪造认证 2从请求http header生成auth token 3验证token:若合法则在请求添加表示验证合法的header,然后将请求传下去,若不合法则reject请求或继续吧请求发给service,只是在headers里添加认证未通过的信息。
2024-05-06 08:19:36 860
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人