是一个命令行工具,用于自动测试域的多种集成测试,具有简单灵活的yaml定义语法。

rasengan的Python项目详细描述


拉森根图片::https://img.shields.io/pypi/v/rasengan.svg
:目标:https://pypi.python.org/pypi/rasengan/

…图片:https://travis-ci.org/apsl/rasengan.svg?branch=master
:target:https://travis ci.org/apsl/rasengan

overview
----

``rasengan``,是一个命令行工具,用于自动测试域的多种集成测试,具有简单灵活的yaml
定义语法。yaml文件可以包含多个域,我们可以用不同的方式检查它:

-检查dns解析
-检查重定向中的重定向、状态代码和预期的url
-检查http请求和内容文本
-使用不同的用户代理检查http
-检查ssl到期日期
-检查ssl qualys grade

如果任何检查失败,则退出执行是一个错误。您可以使用mrpe参数获得简单的mrpe并恢复输出。


install&configure
----

``rasengan``是用python 3版本开发和测试的。我们需要
>;3.4来安装它。

l就像一个卷

::
docker run-v$pwd:/rasengan rasengan

----


>在这个文件中,您可以为域指定不同的值:

+----+??-+
de说明
+==+==+===+=======================================+
=``dns``````检查dns解析,期望域类型和结果
+———————————————————————————————————————————————————————————————————————————————————————————--------------------------------
``ssl```检查域的ssl状态qualys测试和过期日期
+------------>
``http````从http请求域,expect status\`code,red直接或文本
+—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————ected*:结果中预期的IP或域的列表。

-**ssl**:

-*grade*:Qualys测试预期的级别。
-*days\ \u to\ \u expire*:域的https
证书中的过期天数限制警告。

-**http**:

-*status\ \u code*:200,301、302、404等http
请求中的状态码。
-*协议*:http或https,通过不同的http
协议执行请求。默认https。
-*重定向*:在301或302中配置状态代码
时需要重定向url。
-*路径*:要签入域的url路径。默认值为"/"。
-*文本*:当您需要200个代码时,请检查结果页中的文本。
-*用户代理*:为请求使用自定义用户代理,或存储
一个来自以下键:移动、桌面、谷歌桌面、谷歌移动。
-*身份验证用户*:http身份验证中的用户名。
-*身份验证密码*:http身份验证中的密码。
用法
----

::

$rasengan--帮助
用法:rasengan[选项]


检查文件中的所有域

选项:
-c,-配置要检查的文件的文本名称。默认rasengan.yml
-d,--domains文本只检查此域列表(逗号分隔)
-l,--log level文本日志级别。默认信息
-w,--workers integer发出请求的线程数。默认值20.
--mrpe/--no mrpe mrpe输出(禁用日志记录选项)。默认为false,如果为true,则禁用日志级别。
--帮助显示此消息并退出。


基本示例
----




version:0.2.6
域:
www.apsl.net:
ssl:
等级:f
过期天数:10
dns:
域类型:cname
预期:
-apsl.net.
http:
main:
状态代码:301
协议:http
重定向:https://www.apsl.net/
主https:
状态代码:200
文本:expertos en desarrolos web
移动:
状态代码:200
用户代理:移动
文本:expertos en desarrolos web
apsl.net:
域名:
域名类型:a
预期:
-148.251.84.231
http:
主重定向:
协议:http
状态_代码:301
重定向:https://www.apsl.net/
https重定向:
协议:https
状态代码:301
重定向:https://www.apsl.net/

-DNS检查-确定->;结果:[apsl.net.']
2017-12-26 03:38:01309 info apsl.net-DNS检查-确定->;结果:[148.251.84.231']
2017-12-26 03:38:01722 info www.apsl.net-[桌面]-http://www.apsl.net的状态代码/-确定->;结果:301
2017-12-26 03:38:01722 info apsl.net-[桌面]-状态代码对于http://apsl.net/-确定->;结果:301
2017-12-26 03:38:01723 info www.apsl.net-[桌面]-http://www.apsl.net/的重定向位置-确定->;结果:https://www.apsl.net/
2017-12-26 03:38:01723 info apsl.net-[桌面]-http://apsl.net/的重定向位置-确定->;结果:https://www.apsl.net/
2017-12-26 03:38:01820 info www.apsl.net-SSL将于2018-01-17 23:59:59过期
2017-12-26 03:38:01936 info www.apsl.net-[桌面]-https://www.apsl.net的状态代码/-确定->;结果:200
2017-12-26 03:38:01938 info www.apsl.net-[桌面]-https://www.apsl.net的页面内容/-确定->;存在短语:expertos en desarrolos web
2017-12-26 03:38:01958 info apsl.net-[桌面]-https://apsl.net的状态代码/-确定->;结果:301
2017-12-26 03:38:01960 info www.apsl.net-[移动]-https://www.apsl.net的状态代码/-确定->;结果:200
2017-12-26 03:38:01960 infoapsl.net-[桌面]-重定向https://apsl.net/的位置-确定->;结果:https://www.apsl.net/
2017-12-26 03:38:01962 info www.apsl.net-[移动]-https://www.apsl.net/的页面内容-确定->;存在短语:expertos en desarrolos web
2017-12-26 03:38:03353 info www.apsl.net-ssl qualys grade-确定->;结果:f

(rasengan)$echo$?
0

(rasengan)$rasengan-c rasengan.yml--mrpe
检查正常:11--

engan``使用了几个开源项目:

-`click<;http://click.pocoo.org/5/>;``用于管理命令行
选项。
-`requests<;http://docs.python requests.org/en/master/>;``用于http
请求。
-`pyyaml<;https://github.com/yaml/pyyaml>;``用于管理数据
语法。
-`colorlog<;https://github.com/borntyping/python colorlog>;``用于格式化终端输出。
-`dnspython<;http://www.dnspython.org/>;``用于管理dns
查询。
-`pyopenssl<;https://pypi.python.org/pypi/pyopenssl>;``用于管理
ssl过期检查。
-`ssl qualys api<;https://www.ssllabs.com/projects/ssllabs api/>;`\uu,
检查ssl中的安全级别。




欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java读取SSLSocket的最快或最佳方式   JavaGuice向类构造函数注入对象   java类不是抽象的,并且不会覆盖OnClickListener中的抽象方法onClick(视图)   java OpenGL 1.1更改颜色更改以前的颜色?   c#将Java/Android连接到。网络服务   java在节点上生成AES密钥   java Liferay与MarkLogic XDBC数据库集成   java使用静态初始化块来提高性能   java如何在需要不同参数的另一个方法中使用同一类中的方法   音频Java多种声音   Java显式引用转换   java Intellij,如何在maven项目中导入模块   java在什么条件下调用ELResolver的setValue方法?   java在beanshell中计算代码字符串并获取beanshell解释器返回的值   javascript将音频文件上载到服务器并从服务器响应设置图像   编码风格清理java代码,多个else if语句   java是否需要使此变量可变?   java线程未更新GlassPane上的进度条   java关闭调试模式@Vaadin Spring启动应用程序