软件开发最大的麻烦事之一,就是环境配置。各种环境,各种软件版本,各种插件。有时候某个版本不兼容,或者多人公用一台服务器,各种冲突,各种问题。如果需要多个环境,而手头上又没有那么多服务器资源,怎么办?dock来为你解忧。
环境配置如此麻烦,费时费力。能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。
答案是肯定的。
Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
docker 的安装:
我这里是mac下安装,其他环境请自行搜索
1. 进入https://github.com/boot2docker/osx-installer/releases/latest
2. 在下载页面中点击 Boot2Docker-1.8.0.pkg来下载Boot2Docker
3. 双击安装包来安装Boot2Docker
4. 访问“应用程序”→Boot2Docker
你可以运行 docker 命令。你可以运行 hello-word 容器来验证你是否安装成功。
$docker run hello-world
由于众所周知的原因,用国内的源镜像比较快
方便起见我们还是换用国内的docker源吧:
docker基本命令:
到这里我们的docker环境就部署完成了,github上有一个特别棒的漏洞靶机项目,收集了各种漏洞环境.
Docker VulApps: https://github.com/Medicean/VulApps
Docker搭建靶机:
我们就以Zabbix v2.2.x,3.0.0-3.0.3 SQL 注入漏洞环境为例:
docker pull medicean/vulapps:z_zabbix_1# 将漏洞环境pull到本地
docker run -d -p 8001:80 medicean/vulapps:z_zabbix_1# 运行靶机
-p 参数后面的第一个端口号为docker漏洞靶机要映射到本地的哪个端口,第二个端口号为docker漏洞环境的端口。
此时我们访问本机:
测试环境就搭建好啦,我们就可以针对性的去测试漏洞了。
我们以另外一个漏洞s_samba_1
为例,来简述一下过程:
可以搭建各种漏洞的靶机,开始愉快的玩耍吧。
领取专属 10元无门槛券
私享最新 技术干货