自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用Python做一个安全攻防工具:端口嗅探器(1)

引言今天是2020.12.26,马上要到2021了,这几天打算用PySide2做一个最简单的安全攻防工具,给2020年收个尾吧。在这里先说明,我现在对PySide2和安全攻防基本上都是出于一无所知的状态,所以通过这篇或者这一系列(如果一篇无法结束)的博文,大家可以跟我一起学习。笔者以前在测试开发团队里推行的是Tkinter,因为它门槛低,是python的内置模块,能够快速出成果,但是做出来的效果有些LOW,所以这次选择用一个看起来更加牛逼些的模块来做GUI。那为什么要用PySide2呢?因为

2020-12-26 19:14:20 1870

原创 Airtest实战(一):部署iOS-Tagent和设置代理

iOS-Tagent 的根本是 WebDriverAgent,仔细看,会发现iOS-Tagent会比WebDriverAgent简略很多。iOS-Tagent其实就是WDA的优化版本。iOS-Tagent使用git clone https://github.com/AirtestProject/iOS-Tagent.git下载然后通过Xcode打开,做相关设置,点击运行后发现有很多...

2020-04-27 15:09:55 8433 9

原创 从零开始用Python实现股票量化交易之小白笔记(1)

人生苦短,我要Python。刚开始接触Python一个多月,已经为Python的强大所折服,Python可以做的事情实在太多了,现成的轮子也太多了。通过这段时间的学习,对于Python的水平,大概达到了基础的巅峰,但是还要突破进阶,想想还是需要用实现一个项目来作为契机。之所以选择做股票量化,那是因为出于自己的兴趣爱好。现在自己也不知道这个项目会做到什么程度,开这么一个博客,也可以督促自...

2019-01-10 21:03:29 28280 3

原创 Python3解决AES、Crypto安装问题

最开始使用的是 Crypto 模块from Crypto.Cipher import AES在变更环境之后发现无法安装Crypto。有人说使用Cryptodome 模块,尝试安装Cryptodome,但是一直无法成功今天终于查到正确的办法:pip install pycryptodomex安装时使用的名字,和在代码里调用的名字是不一样的,多了一个x,不知道是自己之前没注意,还是之前资料里没说清楚。使用了如下的引用:from Cryptodome.Cipher imp...

2021-04-25 09:46:07 1899 3

原创 用Python做一个安全攻防工具:端口嗅探器(9)

本章目标本章目标是将工具打包成可执行文件。暂时选择py2exe模块。步骤实施找了一篇示范性的文章,《使用 py2exe 打包 Python 程序》。第一步是安装py2exe模块:pip install py2exe --user这里需要加上 “--user” ,否则会出现权限问题。第二步,在文件夹下,新建python文件 setup.py :from distutils.core import setupsetup(console=["PortSearchGUI.

2021-02-19 19:38:28 1499

原创 用Python做一个安全攻防工具:端口嗅探器(8)

本章目标加上这章,下一章应该就能结束了。大家是否还记得GUI上的一个“复制全文”按钮和已经实现功能的“复制原文”按钮。之所以有“复制全文”按钮,是因为有些服务器开着端口,但并不会输出该云端运行的服务,所以可以提供端口参照。所以这一章就是实现:1、当端口是开启状态,但无运行服务的说明输出时,匹配一个常见服务参照并跟随输出;2、不影响 复制原文 按钮,实现复制全文按钮功能。步骤实施我找到了一篇博文:端口与服务对照表在目录下新建文件 PortText.py ,将博文里...

2021-02-07 20:31:52 836

原创 用Python做一个安全攻防工具:端口嗅探器(7)

传送门本系列原创博文传送门:用Python做一个安全攻防工具:端口嗅探器(1)用Python做一个安全攻防工具:端口嗅探器(2)用Python做一个安全攻防工具:端口嗅探器(3)用Python做一个安全攻防工具:端口嗅探器(4)用Python做一个安全攻防工具:端口嗅探器(5)用Python做一个安全攻防工具:端口嗅探器(6)本章目标本章的目标是优化,暂时发现的问题有以下几个:1、点击启动后,工具会卡死,直到结果出来2、结果还不能输出到大编辑框内3、编辑框的复

2021-02-01 17:20:13 945 3

原创 用Python做一个安全攻防工具:端口嗅探器(6)

传送门本系列原创博文传送门:用Python做一个安全攻防工具:端口嗅探器(1)用Python做一个安全攻防工具:端口嗅探器(2)用Python做一个安全攻防工具:端口嗅探器(3)用Python做一个安全攻防工具:端口嗅探器(4)用Python做一个安全攻防工具:端口嗅探器(5)本章目标利用PySide2的信号和槽,在点击了GUI上的“启动”按钮后:1、从界面上获得各项输入的参数数据2、对参数进行转换和输出3、进行合理范围判断,对于异常的数据进行弹窗处理步骤实施

2021-01-29 20:22:38 548 2

原创 用Python做一个安全攻防工具:端口嗅探器(5)

本篇目标这一篇博文主要目标是讲解使用PySide2写界面时遇到的一些注意点。下一篇再开始在代码里实践PySide2的信号槽机制。具体解说界面代码为了方便讲解,先将上一篇的代码粘贴如下:...

2021-01-26 11:43:48 467 1

原创 用Python做一个安全攻防工具:端口嗅探器(4)

本篇目标本篇将对UI进行优化,如果还有篇幅,则尝试引入PySide2的signal、slot机制。UI优化方向在于优化交互,使得界面更容易让人理解,并引入QGroupBox、QBoxLayout进行布局的管理。布局优化先使用QGroupBox、QBoxLayout进行布局上的优化。首先需要将控件放入到QBoxLayout的布局控件里。在最开始设计的UI原型上,分成了上下两大块,下面那块,又分成了左右两边。其中QVBoxLayout是纵向布局,QHBoxLayout是横向布局。

2020-12-31 19:42:13 783 1

原创 用Python做一个安全攻防工具:端口嗅探器(3)

阶段目标这一篇开始使用PySide2来搭建端口嗅探器的GUI。说实话,我有点小兴奋,因为又是一个新的领域。花了一个小时设计了一个用户界面,如下:这算是我们的阶段性目标,就是这系列博文看完的时候,需要实现大概这个样子的小工具。好了,接下来摩拳擦掌开始吧!PySide2安装第一步,自然是先安装PySide2。普通安装pip install pyside2使用清华源安装pip install -i https://pypi.tuna.tsinghua.edu.cn/si

2020-12-30 20:08:53 801

原创 用Python做一个安全攻防工具:端口嗅探器(2)

这一篇主要实现端口的自动遍历。根据端口的百科资料,一个ip的可用端口数是 2^16 = 65536 。那么遍历一个ip的端口,就需要调用那么多次端口访问。因为经常要调用端口访问的代码块,我们先把这部分代码提取成一个函数。# coding=utf-8import socketdef port_search(ip, port): address = (ip, port) # 地址必须是一个元祖,第一个是str,第二个是int client = socket.socket(

2020-12-28 17:00:05 887

原创 Airtest实战(六):结合unittest测试框架

前言和思路Airtest提供了好几个assert断言方法,但是断言方法必然会带来程序中断。有人可能会觉得中断了问题不大,少量的测试代码问题确实不大,及时中断,及时发现问题。但若是很多的测试用例,那中断反而会导致测试时间大大延长。这样就必须选用一个测试框架来组织执行测试用例。在有些资料里,建议我们捕捉异常,就是try--catch的方式,但这个未免有些麻烦。原本考虑了pytest+allure,发现allure在airtest里是没有必要的,因为airtest运行后会自动产生一份格式优美的测试报告

2020-09-22 19:03:23 2251 3

原创 Airtest实战(五):安卓测试脚本示例

环境搭好了,看了下说明文档,一大堆一大堆的,我们就开始来个范例吧。我们先设定一个目标,完成我们公司的一款主打app的登录和退出。1、新建一个项目ps:第一次打开的时候就已经新建了个未命名的项目可以继续在这个基础上编辑。2、将apk文件放入air文件夹里apk的文件名字为“51gjj_full_V8.9.5.0907.apk”,这个名字后面要用到。文件放在这个文件夹里,是同级目录,使用相对目录加载会比较方便。3、连接手机。将手机连接上电脑后,在shel.

2020-09-17 19:40:44 3877 2

原创 Airtest实战(四):Windows搭建开发环境

因为前文在Windows环境里搭建了Jenkins,就需要在本地有些可以跑的脚本,就顺势在Windows里搭建一个Airtest开发环境,再顺势开发几个脚本,再在Jenkins里尝试运行脚本。1、先来到官网的下载页面:http://airtest.netease.com/changelog.html2、选择下载内容:3、来到下载确认页面4、点击同意并下载后,开始下载文件。下载速度比Jenkins快多了。5、下载完之后,解压缩,发现这是一个绿色软件,将文件夹移到自己想要

2020-09-15 15:56:22 829

原创 Jenkins学习笔记:解决插件安装问题

安装插件结束后,当时界面提示很多插件没有成功,问我是否需要重试,我安排到后面再做解决。今天打开Jenkins后,发现之前的密码不能登录了,仔细想了想,记起之前改过了。用了习惯用的密码,成功登录。查了相关资料,若是密码忘记了,Windows里挺麻烦的,不如卸载了重新安装一次。这里建议大家最好有一个记事用的云笔记本,有什么都可以往上面记录,包括账号密码之类的信息。登录后Jenkins之后,点击 管理Jenkins 按钮,立刻就出现了一堆关于插件没有成功安装的提示:部分插件.

2020-09-14 18:04:23 8318

原创 Jenkins学习笔记:Windows环境安装Jenkins

在公司里,Jenkins一开始用于运维的代码持续部署。到了测试团队这边,就可用于代码持续集成了。因为大部分自动化UI测试脚本,需要连接本地开发电脑,所以整体网络架构是这样:至于CI/CD的概念,后面再细细说明。先说环境搭建。先介绍一下开发环境。测试开发环境,首先是几台Windows主机和几台Mac主机。开发安卓脚本,使用Windows主机,开发iOS脚本,使用Mac主机。上面就提到了开发机器,这些机器上安装了Git,开发了代码之后会上传内网Git服务器。内网Gi.

2020-09-11 20:01:36 139

原创 常见测试概念-分级测试、灰度测试、AB测试

这个“常见”,是说当我们经历多了之后,会发现这个概念其实很常见,在当前你所处的这个人群中,发现大家都挂在嘴上。在最开始的测试学习中,其实很少提到这些概念,在职业生涯的前期,也很少需要考虑这些概念。分级测试一般用在系统测试阶段。分级测试,就是说对测试进行分级,区分什么重要、什么不重要,做区别对待。之所以需要区别对待,我总结有两个原因。一个是因为资源上的限制,时间、人力,让我们没有条件来做无差别覆盖。二是本身的限制,在测试阶段,提测质量往往是不尽人意的,只能是层层深入去做测试。.

2020-09-02 19:07:49 5119

原创 修行漫谈——何为放下

放下?我们品一品,当心中有一个执念的时候,若是有人对自己说“何不放下”,一般都会选择拒绝。我们关注的是——放下什么。而这执着的对象,本是我们想要得到。这个念想,也就是想要的结果,是我们人心想要紧紧攥住不放的。所以,不听,不听,我要得到,不想放下,所以我不愿听你所说。若是心平气和看下去,你会发现,其实其中,我们曾经存在了很大的误会。什么叫放下?一般人理解的放下,就是心里没有这个事情。看到这个结果,就容易误解是放弃、抛弃、丢弃,所以人心就会嗷嗷大哭,不愿听人说放下。..

2020-07-15 16:30:33 246

原创 记录一下Mac浏览器劫持searchbaron.com的经历

昨天打开Safari的时候,突然发现打不开页面了。当时也发现有道云笔记也无法更新了。再后面发现谷歌浏览器打开后,也在试着跳往searchbaron.com这时候注意到,safari也一直试着往这个网址跳转,但是直接进入了一个error页面,所以我只是以为打不开我想要的页面了。谷歌稍微设置一下,发现还能用,就开始找资料。发现果然是被劫持了。最开始以为Mac不会中病毒,后来看文章说Mac也会中病毒,只是不会给你弹各种提示框,所以让人以为不中毒。实际上可以发现,Mac随着时间,会越来越慢.

2020-07-08 14:17:54 4625 8

原创 智慧的闪光:一个小故事

一个小孩子第一次玩水,爸爸放水给她玩。突然听到她在那里喊:不要了!不要了!过去一看,发现水盆满了,小孩一直对着水龙头喊,不要了不要了。其实这很像很多时候的我们。我们要一个结果,就想立刻有这个结果,却不得法。我们若是懂,关上水龙头就好了。...

2020-06-16 15:27:09 253

原创 Airtest实战(三):编写第一个iOS设备脚本

本来想从第一个api开始一个一个学起,但是有可能会比较枯燥,就直接来写一个可以运行的脚本吧。系列文章会先从iOS这边开始讲,iOS的硬性门槛会比较高,包括Mac设备、以及第一篇第二篇文章里提及的环境安装。iOS讲完再开始讲Android设备操作。Android开放出的权限比较多,所以有更多的操作可以让大家选择,想想就是一件让人兴奋的事情。Windows暂时没考虑,博主这边公司的业务在Windows上占比较小,但主要还是看大家是否对这块感兴趣。好了,接下来开始精彩的表演,写下我们的..

2020-06-12 19:30:05 2767

原创 对接个人微信推送服务Server Chan

现在短信api基本上是收费的,而且垃圾短信太多,看起来麻烦。之前看到过一款可以调用的api,通过简单的get调用,可以向自己的手机推送微信文字消息的。自己做了些策略,经过检测,还是可行的,但是却无法实时提醒。后来寻这个api,却寻不着了,这次终于又寻到一个,将对接过程记之如下:这个api叫 Server Chan,中文叫 Server酱,还是比较稳定的。1、登入,用GitHub账号登录网站,登录后,有可能会进入一个失败的页面,这个不用管它。在发送消息页面,获得一个SCKEY。2、

2020-05-28 14:05:47 1402

原创 Airtest实战(二):Mac安装Airtest

首先打开Airtest主页:http://airtest.netease.com在左边会出现下载按钮:这个版本刚好是我需要的,我就点击DOWNLOAD按钮。进入到下载页。同意服务条款。自然是选择允许。下载后时一个dmg文件,打开后将AirtestIDE拖到Applications中,拷贝后,在启动台中出现一个应用图标:这样就代表安装成功了。点击打开,先说验证,那就验证,验证成功后问是否打开,点击打开,然后就没下文了。啥,没下文了?试了几次,

2020-05-27 15:38:33 3254

原创 如何将大数据表导入导出mysql

网上说100M以上的表就已经是大数据了。我的表是千万级别,数据表文件有6G。如果使用向导导出,导出是可以的,但是导入就极为困难了,最后Mac使用了40G的存储空间来缓存那个文件,还是没有成功。后面使用了命令行的方式,就显得非常简单了:打开命令行,进入到导出文件待存储的目录mysqldump -uroot -p database tablename > filename.s...

2020-03-28 17:03:10 1561

原创 Pycharm激活

网上找了一堆办法,好像更新到2020就失效了,想买正版吧,页面也打不开,那边的外币汇率结算也让人有些吃不消。就去某宝搜了下,果然有办法。与其花吃奶的力气,不如花几块钱让别人帮你想办法。他想办法,就是为了很多人,然后每个人赚一点,他就知足了。这就是互惠互利皆大欢喜。建议大家去看看。...

2020-03-14 22:33:42 1836

原创 如何查看Xcode版本

一种是通过命令行来获取,就像查看python版本一样:$ xcodebuild -versionXcode 10.2.1Build version 10E1001还有一种是在Xcode IDE中查看:打开Xcode,点击左上角的 Xcode -> About Xcode然后会出现一个小弹窗:...

2020-02-28 17:18:36 11322 1

原创 修行漫谈——说三心二意

以前我们在学英语的时候,看到语言学家说某个词的词根啊、来历啊,就会觉得,哇,好厉害。看到葡萄牙语的单词有阴性和阳性的分别,也觉得好厉害,连床都分公母呢!其实,我们人,往往最容易忽视的,就是身边的事物。司空见惯,见怪不怪。其实这是一种习惯,有时候也是一种麻木。所以修行说,大道至简,但我们却总是不得其法。我们回过头来看看我们自己的语言,会发现,这个语言,其实同样高级,蕴含了诸...

2020-02-28 11:25:43 512

原创 修行漫谈——再谈聪明和智慧

说到聪明和智慧,《圣经》里有一句话,“敬畏耶和华是智慧的开端,认识至高者便是聪明”。有些人或许会疑惑,博主一开头不是在说道家吗?怎么又提到《圣经》了?其实仔细看,我还提到了佛家的一组词汇,世智情见和大智慧。说到对于世界真相、本质、规律的认知和解析,或者说“法理”,其实非常多的地方,是相通的。我们追寻到最后,寻到的,就是真理。佛教和佛家,不是一个概念,道教和道家,不是一个概...

2020-02-13 11:54:45 1296

原创 修行漫谈——浅谈聪明和智慧

随着经历的加深,愈发地开始敬畏。谁话最多?半桶水晃荡。刚开始学了点的时候,是最有感悟的时候,是话最多的时候。知道越多,会发现未知的有更多。我们永远在某个位置里,往下还有,向上还有。但是,既然开了这个专栏,还是要继续讲下去。何谓传道,道不是道理,道是道路。道路是用来走的,是自己曾经走过的。本来写了很多大道理,也全部删去。只留下自己经历的。之前说到了世智...

2020-02-12 21:53:14 279

原创 修行漫谈——说说中年危机

道教中,学道修行,求得真我,去伪存真为“修真”。都说人生就是一场修行。想写这方面的专栏有一段时间了,只是不知道怎么下笔。接触了一些人和事,却发现山外有山有水,接触了一片未知,会发现更多的未知。所以说,心存敬畏。什么是修真,修真就是修缮真实。这句话,我认为是提纲般的两字。所以修行,也就是直面真实。也不说些玄乎的东西了,就从身边的事情说起吧。公司前阵子,开了个...

2020-01-19 20:39:03 304

原创 从零开始用Python实现股票量化交易之小白笔记(9)

不废话了,直接上成品的代码:#coding=utf-8from common import tsimport tusharets.set_ts_token()pro = tushare.pro_api()data = ''index_ts_code = '000300.SH' start_date = '20091201' end_date = '20191130'...

2019-12-19 21:11:40 3861

原创 从零开始用Python实现股票量化交易之小白笔记(8)

今天开始我们讲一下股票交易策略。所谓的策略,按我的理解,就是一套交易规则。什么时候买入,什么时候卖出。买入只有一个时机,就是出现买点。卖出有三个时机,一个是出现卖点,一个是出现止盈点,还有一个是止损点。好的策略还会考虑趋势,先判断当前是什么趋势,是多,还是空,还是横盘震荡。下面有一个策略:如果过去10年,每个月初进行一次判断,如果上个月沪深300指数涨了,按均分...

2019-12-18 21:29:24 3386 1

原创 Java非访问控制修饰符static和volatile的区别

昨天回顾java基础,看到volatile,然后想到static,就在找两者的区别。简单点说,两者的区别如下: volatile是告诉编译器,每次取这个变量的值都需要从主存中取,而不是用自己线程工作内存中的缓存。 static 是说这个变量,在主存中所有此类的实例用的是同一份,各个线程创建时需要从主存同一个位置拷贝到自己工作内存中去(而不是拷贝此类不同实例中的这个变量的...

2019-12-07 10:56:38 213

原创 Python使用精致小巧的LevelDB

之前在文章中提到过sqlite,因为说对于个人项目来讲,mysql有时候太过笨重,费用过高。这次也是一样,之前开发的大型网络项目,用的NoSql都是redis、MongoDB之类的,但是搭建个人项目时,没有用到分布式,就可以用到像LevelDB或者RocksDB这样的嵌入式数据库,精致小巧,占用非常少的系统消耗。首先是安装:pip install leveldb一般很快就安装成功了...

2019-11-27 14:28:03 882

原创 彻底解决Mac下Python的SSL各类报错

经常会遇到请求某个https或wss地址会校验ssl证书失败的情况。报错类似:ssl.SSLCertVerificationError:[SSL: CERTIFICATE_VERIFY_FAILED]certificate verify failed: unable to get local issuer certificate(_ssl.c:1056)与 wss://xxxxxx...

2019-11-01 17:33:14 4662 3

原创 量化交易学习笔记(6):用股票涨跌来理解二项式

我们先获取到一组数据,某一段时间里上证300个交易日的涨跌记录,然后得出来这300行数据里,168天是上涨的,132天是下跌的。然后得出来两个概率值a和b:a = 168/300 = 0.56b = 132/300 = 0.44我们发现a+b等于1,这个就像是一个硬币的两面一样(硬币基本上不会立起来,股市也只有极小的可能真的不涨不跌,我们先不考虑小概率事件)。那么,我们认为这段...

2019-10-30 10:51:33 630 1

原创 量化交易学习笔记(5):方差

方差是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量,是衡量源数据和期望值相差的度量值。举个例子:有一个棍子,用两个尺子量,每个量五次。第一个尺子量出来是 5.1cm 5.2cm 4.9cm 5.0cm 4.8cm第二个尺子量出来是 5.0cm 5.0cm 5.0cm 5.0cm 5.0cm从平均数来讲,大家都是5.0cm,这也是我们的期望值(因为在这里,每个值出现的...

2019-10-29 17:32:45 545

原创 量化交易学习笔记(4):期望值

先讲一个例子:比如现在有一个股票池,里面放了三只股票:A 、B、C。其中A有1%的概率盈利200%,B有10%的概率盈利20%,C有89%的概率盈利5%。我们手上有10000元,去买这三只股票,花4000买了A,花4000买了B,花2000买了C。那么,期望值 = 4000*0.01*2 + 4000*0.1*0.2 + 2000*0.89*0.05 ...

2019-10-28 21:10:02 1609

原创 量化交易学习笔记(3):社区发现算法

社交网络:由节点和边组成的结构。节点表示个人或组织,边表示用户和用户之间的关系,如果对这些关系强度进行区分的话,我们可以为每条边赋予一个权重,权值越大表示关系强度越大。社区(community):是指网络中的一些密集群体。每个社区内部的节点间的联系相对紧密,各个社区之间的连接相对比较稀疏。各社区节点集合彼此没有交集的称为非重叠型(disjoint)社区,有交集的称为重叠型(overlappin...

2019-10-22 19:47:25 714 1

空空如也

空空如也

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

TA关注的人

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