Devops
彭淦淦
破烂猴
展开
-
python中准备ansible环境
1.1 问题1.创建ansible工作目录2.创建配置文件及主机列表文件3.测试在远程主机执行命令1.2 步骤实现此案例需要按照如下步骤进行。步骤一: 安装ansible01.[root@localhost ~]# pip3 install ansible步骤二: 创建ansible工作目录01.[root@localhost ~]# mkdir /root/myansi/步骤三:创建配置文件01.[root@localhost ~]# cd /root/myansi/ 0原创 2020-07-10 17:49:51 · 285 阅读 · 0 评论 -
利用python脚本创建主机
7.1 问题编写一个remote_comm.py脚本,实现以下功能:主机192.168.4.10已安装zabbix_agent 将该主机填加到zabbix监控的主机中 主机属于Linux Servers组7.2 步骤实现此案例需要按照如下步骤进行。步骤一:编写脚本,检索组1)从zabbix官方文档中使用hostgroup.get 方法获取主机组请求,如图-9所示:官方文档地址如下:https://www.zabbix.com/documentation/3.4/zh/man原创 2020-06-08 18:48:23 · 499 阅读 · 0 评论 -
利用Python脚本获取令牌
6.1 问题编写一个get_token.py脚本,实现以下功能:编写get_token函数 该函数接受zabbix服务器url、用户名和密码作为参数 函数返回值为用户令牌token6.2 步骤实现此案例需要按照如下步骤进行。步骤一:编写脚本get_token.py,获取身份令牌1)从zabbix官方文档中使用 user.login 方法登录并获取身份验证令牌请求,如图-8所示:官方文档地址如下:https://www.zabbix.com/documentation/3.4原创 2020-06-08 18:44:55 · 1043 阅读 · 0 评论 -
利用Python脚本获取zabbix版本信息
5.1 问题编写一个zabbix_apiversion.py脚本,实现以下功能:安装zabbix服务器 获取zabbix api的url 编写python程序,访问zabbix api,取得zabbix版本号5.2 步骤实现此案例需要按照如下步骤进行。步骤一:安装zabbix服务器安装zabbix服务器具体步骤请参照NSD SECURITY DAY06 cookbook中案例2操作步骤二:获取zabbix api的url1)设置前端后,你就可以使用远程HTTP请求来调用AP原创 2020-06-08 18:43:57 · 705 阅读 · 0 评论 -
Python编写钉钉机器人
4.1 问题通过钉钉软件创建一个群聊机器人,要求:编写代码,通过python脚本实现钉钉机器人在群中发送消息 使用json和requests模块4.2 步骤实现此案例需要按照如下步骤进行。步骤一:在钉钉中创建群聊机器人/图-7/图-8/图-9/图-10/图-11步骤二:编写代码copytextpop-up[root@ localhost day12]# vim dingtalk.pyimport ...原创 2020-06-08 18:42:44 · 1279 阅读 · 0 评论 -
用Python做天气预报查询
3.1 问题编写一个display_weather.py脚本,实现以下功能:1.运行程序时,屏幕将出现你所在城市各区县名字2.用户指定查询某区县,屏幕上将出现该区县当前的气温、湿度、风向、风速等3.2 步骤实现此案例需要按照如下步骤进行。步骤一:找到天气信息规律1.首先我们想要实现的功能是天气预报,从哪获取天气这是一个问题,在这里可以使用http://www.weather.com.cn/data/sk/101051301.html这个应用程序编程接口,101051301是城市的ID,可以到h原创 2020-06-08 18:38:57 · 4084 阅读 · 0 评论 -
通过互联网服务器发送邮件
2.1 问题编写一个mail_client.py脚本,实现以下功能:通过自己互联网注册的邮箱,为其他同学互联网邮箱发邮件2.2 方案导入sys模块,用sys.argv方法获取get_web函数实参,让用户在命令行上提供http://www.tedu.cn和/tmp/tedu.html两个参数,调用get_web函数实现如下功能:1)导入urllib模块,使用urllib模块的urlopen函数打开url(即网址),赋值给html2)以写方式打开/tmp/tedu.html文件3)以原创 2020-06-08 18:36:00 · 1166 阅读 · 0 评论 -
Python设置通过本机发送邮件
1.1 问题编写一个send_mail.py脚本,实现以下功能:1.创建bob和alice帐户2.编写发送邮件件程序,发件人为root,收件人是本机的bob和alice帐户1.2 步骤实现此案例需要按照如下步骤进行。步骤一:创建bob和alice帐户01.[root@ localhost day12]# ls /home/02.Student zabbix zhangsan03.[root@localhost day12]# useradd bob04.[root@localhost原创 2020-06-08 18:30:22 · 583 阅读 · 0 评论 -
Python利用多线程实现ssh并发访问
7.1 问题编写一个remote_comm.py脚本,实现以下功能:在文件中取出所有远程主机IP地址在shell命令行中接受远程服务器IP地址文件、远程服务器密码以及在远程主机上执行的命令通过多线程实现在所有的远程服务器上并发执行命令7.2 步骤实现此案例需要按照如下步骤进行。步骤一:安装paramikoparamiko 遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,可以实现远程文件的上传,下载或通过ssh远程执行命令。[root@localhost ~]# pip3 i原创 2020-05-30 16:42:12 · 1226 阅读 · 0 评论 -
Python处理下载错误
6.1 问题起动一个web服务在web服务器的文档目录下创建目录ban,权限设置为700编写python程序访问不存在的路径和ban目录,处理404和403错误404错误打印“无此页面”,403错误打印“无权访问”6.2 步骤实现此案例需要按照如下步骤进行。步骤一:启动一个web服务[root@localhost ~]# systemctl restart httpd步骤二:在web服务器的文档目录下创建目录ban,权限设置为700[root@localhost ~]# mkdir -原创 2020-05-30 16:40:39 · 650 阅读 · 0 评论 -
Python爬取图片
5.1 问题将http://www.tedu.cn所有的图片下载到本地本地的目录为/tmp/images图片名与网站上图片名保持一致5.2 步骤实现此案例需要按照如下步骤进行。步骤一:编写脚本1)爬取网页内容放入指定fname(即/tmp/tedu.html)文件中创建get_web.py文件,编写代码如下:[root@localhost day11]# vim get_web.py#!/usr/bin/env python3import sysfrom urllib.reques原创 2020-05-30 16:39:09 · 422 阅读 · 0 评论 -
Python爬取网页:爬取的网页为http://www.tedu.cn 保存的文件名为/tmp/tedu.html
4.1 问题编写一个get_web.py脚本,实现以下功能:爬取的网页为http://www.tedu.cn保存的文件名为/tmp/tedu.html4.2 方案导入sys模块,用sys.argv方法获取get_web函数实参,让用户在命令行上提供http://www.tedu.cn和/tmp/tedu.html两个参数,调用get_web函数实现如下功能:1)导入urllib模块,使用urllib模块的urlopen函数打开url(即网址),赋值给html2)以写方式打开/tmp/tedu.原创 2020-05-30 16:37:21 · 495 阅读 · 1 评论 -
通过多线程方式实现并发扫描存活主机
3.1 问题创建mtping.py脚本,实现以下功能:通过ping测试主机是否可达如果ping不通,不管什么原因都认为主机不可用通过多线程方式实现并发扫描3.2 方案subprocess.call ()方法可以调用系统命令,其返回值是系统命令退出码,也就是如果系统命令成功执行,返回0,如果没有成功执行,返回非零值。调用Ping对象,可以调用系统的ping命令,通过退出码来判断是否ping通了该主机。如果顺序执行,每个ping操作需要消耗数秒钟,全部的254个地址需要10分钟以上。而采用多线程,原创 2020-05-30 16:36:05 · 525 阅读 · 0 评论 -
利用Python扫描存活主机
2.1 问题创建forkping.py脚本,实现以下功能:通过ping测试主机是否可达如果ping不通,不管什么原因都认为主机不可用通过fork方式实现并发扫描2.2 方案定义函数ping(),该函数可实现允许ping通任何主机功能:1.引用subprocess模块执行shell命令ping所有主机,将执行结果返回给rc变量,此时,如果ping不通返回结果为1,如果能ping通返回结果为02.如果rc变量值不为0,表示ping不通,输出down3.否则,表示可以ping通,输出up利用列原创 2020-05-30 16:34:09 · 2903 阅读 · 0 评论 -
forking基础应用
1.1 问题编写一个myfork.py脚本,实现以下功能:在父进程中打印“In parent”然后睡眠10秒在子进程中编写循环,循环5次,输出当前系统时间,每次循环结束后睡眠1秒父子进程结束后,分别打印“parent exit”和“child exit”1.2 方案子进程运行时是从 pid = os.fork() 下面语句执行,实际上,该语句是两条语句, os.frok() 是创建子进程语句,而 pid = 是赋值语句,所以在创建完子进程后,下一句为运行赋值语句。进程调用fork函数时,操作系原创 2020-05-30 16:33:09 · 403 阅读 · 0 评论