摘要: 一、内推方式 扫描以下图二维码,选择自己想要投递的岗位直接投递,即可以博主名义进行内推。 如以上二维码过期可添加博主微信,寻求新的内推链接: 二、投递建议 1. 一是工作年限/学历/证书等要求一般是招聘部门设定的,二是面试会在系统留下面试记录及评价,建议在确认要求相符及有一定把握前提下再进行投递。 阅读全文
posted @ 2021-10-11 19:27 诸子流 阅读(871) 评论(0) 推荐(1) 编辑
  2022年2月8日
摘要: 一、说明 之前写过一篇“缓冲区溢出一:函数调用过程中的堆栈变化及缓冲区溢出利用原理”,道理讲得还可以,但现在看还是需要一个示例来讲解从攻击角度如何实现返回地址的覆盖和执行shellcode。 二、环境准备 2.1 操作系统环境 虚拟环境使用VirtualBox,VirtualBox下载地址:http 阅读全文
posted @ 2022-02-08 23:41 诸子流 阅读(689) 评论(0) 推荐(0) 编辑
  2022年1月5日
摘要: 一、ATT&CK官网 ATT&CK, Adversarial Tactics, Techniques, and Common Knowledge,对抗战术、技术与通用知识。 官网:https://attack.mitre.org/ 二、ATT&CK说了什么 想要看懂ATT&CK说了什么,首先要做两件 阅读全文
posted @ 2022-01-05 17:51 诸子流 阅读(1911) 评论(0) 推荐(0) 编辑
  2021年11月24日
摘要: 一、问题 ssh命令没有密码参数,需要交互式输入; 但出于管理等需求我们可能会需要在shell脚本中登录其他机器,交互式输入密码就没法满足这种需求了。 二、实现 2.1 安装sshpass yum install -y sshpass 2.2 基本的实现 sshpass -p 'password' 阅读全文
posted @ 2021-11-24 17:39 诸子流 阅读(169) 评论(0) 推荐(1) 编辑
  2021年8月12日
摘要: 一、安装 官方文档(含python调用yara):https://yara.readthedocs.io/en/v4.1.1/gettingstarted.html 开源yara规则库:https://github.com/Yara-Rules/rules git clone https://git 阅读全文
posted @ 2021-08-12 14:28 诸子流 阅读(3162) 评论(0) 推荐(0) 编辑
  2021年4月30日
摘要: 一、说明 本文的直接起因是上周公司的一个比赛用到了排列组合,之前没用过,这里记一记。 本文说的排列组合是借助itertools实现,而不是自己写代码实现。 itertools的其他一些函数还是比较有意思的,所以在最后也会做下简单的介绍。 二、排列组合实现 功能需求 总数算法 实现函数 示例 示例输出 阅读全文
posted @ 2021-04-30 17:44 诸子流 阅读(872) 评论(0) 推荐(0) 编辑
摘要: 一、说明 1.1 背景说明 刚工作时D运营商多用CentOS6,在很长的一段时间内搞不清这两个问题:为什么yum安装的mysql服务用service命令就能启动了、如果自己rpm安装的或自己写的程序也想改成能用service命令启动那又该怎么做。 后来更多用了CentOS7,CentOS7又改用sy 阅读全文
posted @ 2021-04-30 17:42 诸子流 阅读(1625) 评论(0) 推荐(0) 编辑
摘要: 一、背景说明 已经记不得最早听说Linux进程之间通过信号进行通信是什么时候了,但这个东西没次听完看完之后都不是很在意,感觉和自己平时使用没什么关系。 最近突然认识到这个结论其实很重要:Linux的进程间在没有人为给他们搭建通信通道时,他们间的通信(或者叫相互作用)都是且只能是通过发送信号进行。 比 阅读全文
posted @ 2021-04-30 17:41 诸子流 阅读(461) 评论(0) 推荐(1) 编辑
  2021年3月15日
摘要: 一、说明 1.1 背景说明 关于“代理”,从burpsuite到ss这类正向代理,再从nginx到haproxy这类反向代理,也用了好多年配置了好多年了。在日积月累之下也确认了以下几个问题: 正向代理和反向代理的区别 正常访问路径是client public network server,如果代理服 阅读全文
posted @ 2021-03-15 19:57 诸子流 阅读(1605) 评论(0) 推荐(0) 编辑
  2021年3月10日
摘要: 一、背影说明 最早开始接解协程应该是看到Scrapy库代码里有await的字眼,接下来曾多次尝试理解协程怎么用,但都失败了。 主要的问题是很多文章上来就是告诉你生成器是什么、原理是什么,我一直觉得原理这东西深入理解时是应该的,但是我作为一个小白我不希望你跟我讲原理,我没耐心也听不懂。 我只希望你告诉 阅读全文
posted @ 2021-03-10 18:39 诸子流 阅读(605) 评论(0) 推荐(1) 编辑
  2020年12月4日
摘要: 一、说明 在分析了wireshark使用方法后,其表达式书写基本没什么问题,但在linux上使用的更多是tcpdump。 tcpdump自大学就开始在用了,但一直没搞懂其表达式的书写规律,基本每次使用都得查、每次用后都会忘。 二、安装 yum install tcpdump -y 三、使用 tcpd 阅读全文
posted @ 2020-12-04 13:00 诸子流 阅读(1043) 评论(0) 推荐(0) 编辑
  2020年11月3日
摘要: 一、说明 自接解Linux服务器后,rsync这个东西就一直若隐若现,但也没人要求帮安装配置什么的所以也就没有研究。 但近来要推弱口令改造,发现挺多就是rsync空口令,搞不懂这是什么东西就很不舒服,所以抽空来研究一下。 二、安装 操作系统:CentOS 7 # 客户端和服务端程序都在rsync一个 阅读全文
posted @ 2020-11-03 20:05 诸子流 阅读(3575) 评论(0) 推荐(1) 编辑
  2020年10月21日
摘要: 一、动态修改vim配置 反操作基本在原操作前加上no即可。 # 显示行号 set nu #关闭行号 set nonu # 开启粘贴模式 set paste # 关闭粘贴模式 set nopaste 二、静态修改vim配置 2.1 查看vim使用的配置文件 我们可能有时记不清vim使用哪些配置文件,可 阅读全文
posted @ 2020-10-21 20:01 诸子流 阅读(4435) 评论(0) 推荐(0) 编辑
  2020年9月14日
摘要: 一、背景说明 自从整理了“正则表达式书写规则说明”后,使用正则表达式的地方都基本能应对。唯一搞不清的是不懂为什么re.search的还要用group()才能获取匹配的结果(而且是group这么个感觉和获取字符串完全不搭边的名字),正是没搞清的这点留下了很大的隐患。 上周同事问正则中重复次数只能作用于 阅读全文
posted @ 2020-09-14 19:13 诸子流 阅读(1260) 评论(1) 推荐(0) 编辑
  2020年9月1日
摘要: 一、背景说明 昨天在看操作日志报表,发现周末只有一两条数据,显得不正常。但一是周末操作本来也不多,二是还有其他事情要做,就没管了。 但周二再看周一还是没数据,同事向上排查发现是上游表就没数据。开始还比较淡定,猜测和之前一样是因为代码catch到异常就直接exit把exit去掉再把这两天的数据补回来就 阅读全文
posted @ 2020-09-01 19:39 诸子流 阅读(19141) 评论(0) 推荐(2) 编辑
摘要: 一、说明 压缩和解压缩是日常常用的操作,不管是windows上图形界面的操作,还是linux上用命令来进行压缩解压缩,总的而言都还是比较方便的。 但用代码来实现就没做过,近期也得实现代码压缩与解压缩操作,所以就抽时间来研究一下。 二、zip文件压缩和解压缩实现 import os import zi 阅读全文
posted @ 2020-09-01 19:32 诸子流 阅读(1807) 评论(0) 推荐(0) 编辑
  2020年8月26日
摘要: 一、说明 我们简单地分析性能,可以通过运行前后的datatime.datatime.now()相减来确定运行两个时间中间的代码花费了多少时间。 但这种做法只能记录单次运行花费的时间、不能方便计算运行多次平均花费的时间,更不能深入分析整个程序各函数所花费的时间。 二、利用timeit分析语句/函数性能 阅读全文
posted @ 2020-08-26 19:03 诸子流 阅读(1099) 评论(0) 推荐(0) 编辑
  2020年7月14日
摘要: 一、环境准备 项目地址:https://github.com/dvarrazzo/py-setproctitle 安装:pip install setproctitle 二、重命名进程名 2.1 单进程中实现进程重命名 import setproctitle # 获取当前进程名 # Windows可 阅读全文
posted @ 2020-07-14 18:47 诸子流 阅读(5026) 评论(0) 推荐(0) 编辑
摘要: 一、说明 之前写了一篇“Python执行系统命令教程”讲了如何执行系统命令。 除了执行系统命令外,我们有时还需要动态地执行一些python代码,有经验的朋友就会知道可以使用内置函数eval实现这一需求,如eval("print(__file__)"),这还是比较简单的。 但如果要动态执行一个函数,讲 阅读全文
posted @ 2020-07-14 18:46 诸子流 阅读(2411) 评论(0) 推荐(0) 编辑
  2020年7月9日
摘要: 一、获取文件路径实现 1.1 获取当前文件路径 import os current_file_path = __file__ print(f"current_file_path: {current_file_path}") __file__变量其实有个问题,当文件被是被调用文件时__file__总是 阅读全文
posted @ 2020-07-09 18:38 诸子流 阅读(6203) 评论(0) 推荐(1) 编辑
  2020年6月23日
摘要: 一、背景说明 os.walk()应该是当前python中遍历目录最推荐的函数,之前用python写了一个用于收集系统用到的第三方组件的脚本,在测试时使用os.walk()遍历了部分目录,并通过了全网的测试。但在改成遍历根目录后,被业务反馈说脚本占用内存过高导致了内存告警。 在直观感觉上,只遍历目录又 阅读全文
posted @ 2020-06-23 19:48 诸子流 阅读(1308) 评论(0) 推荐(0) 编辑
摘要: 一、高CPU占用 1.1 使用长时间任务 高cpu很自然会想到的是让操作系统不停地在做事,而不停做事的有做一件很久的事和做死循环两种实现方式。 但是现践来看不管是哪种实现都只能占用一定比例的cpu,在cpu原本空闲的情况下很难使cpu占用到百分之八九十。 # 计算/dev/zero的sha1值 sh 阅读全文
posted @ 2020-06-23 19:43 诸子流 阅读(1266) 评论(0) 推荐(0) 编辑
摘要: 一、系统资源使用限制的必要性探讨 对于一个脚本,最基础的限制是要限制单进程实例以保证了不会存在多个进程实例、在运行程序主体逻辑前检测系统资源剩余量确保自己不是压夸系统的最后一根稻草、设置程序运行超时时间以保证进程实例不会无休止地运行下去。 进一步,在部署有可用性要求较高的服务的主机中,我们还需要关注 阅读全文
posted @ 2020-06-23 19:39 诸子流 阅读(1256) 评论(0) 推荐(0) 编辑
摘要: 一、背景说明 以前就感觉进步的速度和博客的数量成正比,所以很长一段时间内想不通为什么很多博客为什么到最后很少甚至不在更新了,直到最近自己也快成为断更的一员。 这段时间其实碰到和解决了挺多典型的问题,但上班高负荷运转下班没心思周末觉得太耗费时间,就导致一直拖着没写。 但Python执行系统命令这个问题 阅读全文
posted @ 2020-06-23 19:17 诸子流 阅读(1490) 评论(0) 推荐(0) 编辑
  2020年5月26日
摘要: 一、背景说明 说实话自己是做安全的,平时总是给别人代码找茬,但轮到自己写代码有时比开发还不注重安全,其中有安全脚本一般比较小考虑安全那么处理安全问题的代码比重将会大大超过业务代码的问题也有不是专职开发添加一项功能还没开发那么熟练的问题。由于安全脚本一般不是对外开启服务的,所以一般也不会暴出什么问题。 阅读全文
posted @ 2020-05-26 18:55 诸子流 阅读(2679) 评论(0) 推荐(0) 编辑
  2020年3月27日
摘要: 一、说明 早上看到Python使用pickle进行序列化和反序列化,然后发现面临的一个获取不到返回值的框架,似乎可以通过在框架中先序列化,然后在外部进行反序列化的方法来实现。就研究了一下pickle库的具体使用。 本身也没什么复杂,一方面还是怕忘记,另一方面是自从学Java听到反序化这个词开始就有一 阅读全文
posted @ 2020-03-27 18:22 诸子流 阅读(1663) 评论(0) 推荐(0) 编辑
  2020年3月21日
摘要: 一、背景说明 上上周末看《易经》其封面大概是这么一张图(其实还有各卦对应的五行但一下找不到这样的图),想着为什么一个卦用三层表示呢,辗转反侧突然想到这就是二进制啊,需要三位才能表示八个数(000-111)。 然后又去看占卦解卦原理,感觉就是给定一个输入 经过一定的算法流转 给出一个输出,最后一想这就 阅读全文
posted @ 2020-03-21 22:45 诸子流 阅读(2443) 评论(0) 推荐(1) 编辑
  2020年3月20日
摘要: 一、说明 从某个时候发现python的字符串变量自带的strip()方法,除了可以删除字符串头尾的空格,还可以用来删除头尾的字符串觉得很好用。也就一直这么用,一直也没发现什么问题。 今天在修复一个bug时使用了strip()方法但从结果看bug并没有按预期被消除,一是没怀疑strip()删除子字符串 阅读全文
posted @ 2020-03-20 20:06 诸子流 阅读(2976) 评论(0) 推荐(0) 编辑
摘要: 一、说明 return一直中,每中语言中其没没有很大差别,就不多说了。(shell语言return的是退出状态,可能差别是比较大的,感兴趣可参见“Linux Shell函数定义与调用”) 最早看到yield应该是哪们语言用来调整什么线程优先级的,记不清了,不过那里的yield和python中的yie 阅读全文
posted @ 2020-03-20 20:05 诸子流 阅读(11925) 评论(1) 推荐(7) 编辑
  2020年3月13日
摘要: 一、背景说明 最开始不愿意使用Python,一大原因是因为Python2默认使用ASCII编码处理中文可以说是一件痛苦的事情。仅从更换默认编码一项变换,就可以说Python3和Python2不算同一门语言。 Python3更换为默认使用Unicode(utf-8)编码,一直使用下来再没有遇到编码问题 阅读全文
posted @ 2020-03-13 20:12 诸子流 阅读(68027) 评论(1) 推荐(2) 编辑
  2020年2月29日
摘要: 一、说明 时间的获取及时间各格式间的转换是比较常用的操作,但一是多种语言经常容易弄混,二是同一种语言同一个功能可能有不同的实现函数,导致每次处理时间经常要百度所以来记录一下。 另外个人真不喜欢同样功能有多种写法的形式,从理想角度说多种实现方式让不同的人都能以其喜欢的方式进行编写;但实际上当你忘记的时 阅读全文
posted @ 2020-02-29 12:15 诸子流 阅读(2151) 评论(0) 推荐(0) 编辑
  2020年2月12日
摘要: 一、客户端与python在操作数据库时的差别 在日常使用mysql客户端操作mysql和使用python代码操作mysql时,会发现他们不一致的地放: 在mysql客户端中,不管是执行select还是执行delete等命令,都不需要commit;但在python代码中我们经常要写conn.commi 阅读全文
posted @ 2020-02-12 21:42 诸子流 阅读(1870) 评论(0) 推荐(0) 编辑
  2020年2月10日
摘要: 一、说明 多线程这个东西,感觉一直以来都是用一次就要学一次,今天需要将之前写的脚本改成线程池的形式又学习了一轮。为了以后方便在这直接记下来。 二、多线程实现 2.1 多线程的基本实现 import threading import time import datetime # 该类是自定义的多线程类 阅读全文
posted @ 2020-02-10 18:36 诸子流 阅读(14203) 评论(4) 推荐(3) 编辑
  2020年2月9日
摘要: 一、 说明 1.1 背景说明 记得在学校的时候火的是大数据、云计算和物联网,毕业后网上就开始很多讨论人工智能(还有区块链)。当只是网上听说的时候总觉得比较遥远,心里并没有很大的重视,直到有一天忘了是下午回去上班还是下午下班,和他走在路上的时候他也得到了人工智能。 他说,你说我们算1+1就是按规定1+ 阅读全文
posted @ 2020-02-09 18:27 诸子流 阅读(1755) 评论(2) 推荐(1) 编辑
  2020年2月7日
摘要: 一、说明 1.1 背景说明 刚工作的时候我对版控制没什么概念,比如听说MariaDB是MySQL的一个分支还是不明白他们的代码到底是不是一样的。 后来弄公司的svn算是有了一些了解,但对于git到现在都不算太会用,每次上传项目到github总是一阵抓狂。写这篇博客的原因也是为了避免自己以后再操作时到 阅读全文
posted @ 2020-02-07 18:38 诸子流 阅读(1170) 评论(0) 推荐(1) 编辑
  2020年2月3日
摘要: 一、说明 背景一:大学的时候学网络编程,经常看到说socket有AF_UNIX、AF_INET和AF_INET6三个协议族,AF_UNIX一般不用、AF_INET是IPv4的、AF_INET6是IPv6的。基于这种说教一直以来写网络编程,上来协议族就写AF_INET,AF_UNIX是什么怎么用一直没 阅读全文
posted @ 2020-02-03 14:37 诸子流 阅读(3830) 评论(0) 推荐(0) 编辑
摘要: 一、说明 在前一家公司经常测出一些缓冲区溢出导致进程挂掉的问题,开发经常要求在调试模式进行测试,生成core文件给他们定位问题。 当时的调试模式启动只是修改某些配置文件重新启动即可,所以在很长一段时间内并不知道到底要如何生成core文件及core文件如何使用。 二、配置允许生成core文件 临时配置 阅读全文
posted @ 2020-02-03 14:35 诸子流 阅读(4590) 评论(0) 推荐(1) 编辑
摘要: 一、说明 2.1 背景说明 在上家公司的时候想实现应用进程不使用root用户启动,但开发反馈像配置网卡等命令就是得用root来执行的,领导朋友说可以通过setuid解决这个问题。 由于物联网设备毕竟是和硬件强相关的改造动作可能比较大又可能遗漏某些意想不到的地方,并没有着手处理root启动的问题。 所 阅读全文
posted @ 2020-02-03 14:34 诸子流 阅读(8547) 评论(0) 推荐(1) 编辑
摘要: 一、说明 自己写shell脚本进行调试时感觉是很烦心的,如果是在Linux服务器上直接echo打印还行但vim用着总没有Windows上的图形界面编缉器顺手,如果在Windows上写好传到Linux服务器上去那每次修改完总要有个文件上传的动作。 所以一直在寻找些类似调试的功能,在此做个记录。 二、直 阅读全文
posted @ 2020-02-03 14:02 诸子流 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 一、说明 在上家公司第一次听说”交叉编译“,但开发机环境配置一直没成功,后来也就不了了之了,所以一直不太懂”交叉编译“具体实现上是怎么个形式。 Python在Windows上和Linux上是有些差别的,在Windows上运行得好的程序在Linux上不一定没有问题,而在Windows开发好代码再传到L 阅读全文
posted @ 2020-02-03 14:01 诸子流 阅读(1310) 评论(0) 推荐(0) 编辑