《11招玩转网络安全》之第一招:Docker For Docker
玩转黑客那些工具,缺少了虚拟机怎么行,除了用虚拟机虚拟整个系统,Docker也不能缺少,读者只需要知道,Docker只虚拟Linux系统中的某个程序就可以了。本节就来介绍Linux下安装设置Docker。
很幸运,Docker已经加入到了Debian的官方源中了。可以使用apt-get安装Docker。首先,使用163的镜像替代默认的官方镜像(基于Docker使用加速器的同样理由),163镜像源的配置文件163.list如下:
- deb http://mirrors.163.com/debian/ jessie mainnon-free contrib
- deb http://mirrors.163.com/debian/ jessie-updatesmain non-free contrib
- deb http://mirrors.163.com/debian/ jessie-backportsmain non-free contrib
- deb-src http://mirrors.163.com/debian/ jessie mainnon-free contrib
- deb-src http://mirrors.163.com/debian/jessie-updates main non-free contrib
- deb-src http://mirrors.163.com/debian/jessie-backports main non-free contrib
- deb http://mirrors.163.com/debian-security/jessie/updates main non-free contrib
- deb-src http://mirrors.163.com/debian-security/jessie/updates main non-free contrib
1、首先将163.list拷贝到/etc/apt/sources.list.d/目录下,然后将系统默认的更新源注释掉。执行命令:
su
cp 163.list /etc/apt/sources.list.d/
sed -i ‘s/^/#/g’ /etc/apt/sources.list
2、测试一下执行结果,如图1-56所示。
l 图1-56 修改debian软件源
3、其中jessie-backports main就是Docker的位置。修改软件源后,更新软件园,安装Docker,执行命令:
apt-get update
apt-get install docker-io
执行结果如图1-57所示。
l 图1-57 安装Docker For Linux
4、Docker For Linux安装完毕,下面开始给Docker配置加速器,还是使用刚才在Windows下获取的Daocloud加速器。执行命令:
echo "DOCKER_OPTS=\"$DOCKER_OPTS --registry-mirror=http://xxx.m.daocloud.io\"">> /etc/default/docker
Docker For Linux配置完毕,可以开始使用了。
Docker使用
在终端(Windows的终端是cmd.exe和ConEmu,Linux的终端是Terminal)中执行docker –help,可以查看Docker的所有命令,执行结果如图1-58所示。
l 图1-58 docker help
这里只说明最常用的几个命令,如下所示。
- docker search 从镜像源搜索软件
- docker pull 从镜像源拉取软件
- docker run 运行镜像为容器
- docker ps 显示容器列表
- docker images 显示镜像列表
- docker start 启动容器
- docker stop 停止运行中的容器
- docker rm 删除容器
- docker rmi 删除镜像
基本上熟悉这几个命令就可以使用Docker了。下面来以Kali来测试一下。虽然在选择Linux系统时选择了Debian Linux,但Kali在某些方面的确要比Debian方便很多。使用VMwareWorkstation创建Kali虚拟机是一个办法,使用Docker创建Kali容器同样也挺好用。首先搜索可用的Kali镜像。执行命令:
docker search kali
执行结果如图1-59所示。
l 图1-59 搜索docker 镜像
可用的镜像很多,选择自带metasploit的镜像linuxkonsult/kali-metasploit。将docker镜像pull到本地,执行命令:
docker pull linuxkonsult/kali-metasploit
执行结果如图1-60所示。
l 图1-60 docker pull
这个镜像比较大,下载可能需要点时间。如果配置好了加速器,速度还勉强可以接受。运行命令docker images、docker ps和docker ps -a分别查看当前镜像、当前运行容器和当前所有容器,如图1-61所示。
l 图1-61 镜像和容器列表
当前只有镜像没有容器。可以用dockerrun 命令,暂时的使用镜像里的程序,如图2-62所示。
l 图1-62 docker run
这里的-it选项意思是打开交互式环境接口,--rm选项意思是退出后就删除这个容器。这个命令创建了一个临时容器(没指定容器名),并运行了容器中的python程序。以同样的方法,也可以打开kali容器中的msfconsole程序。
用docker run 以后台的方式运行kali linux。这种方式就有点类似与VMware虚拟机了,只是没有图形界面,如图1-63所示。
l 图1-63 后台运行容器
这里的-d参数指定后台运行,--name指定了容器的名字,-p参数相当于端口映射,意思是把容器上的22端口映射到主机的22端口上(虽然容器上端口不一定打开了)。查看一下本地的22端口,如图1-64所示。
l 图1-64 docker端口映射
当容器使用完毕后,可以用dockerstop关闭容器。下次使用时则用dockerstart启动容器,如图1-65所示。
l 图1-65 打开、关闭容器
如果觉得这个容器、镜像不符合要求,可以使用docker rm和docker rmi命令删除容器和镜像。删除容器时必须要先关闭容器,删除镜像时要先删除根据镜像生成的容器,如图1-66所示。
l 图1-66 删除容器、镜像
Docker使用简单方便,占用资源比VMware要小很多。除了不能创建Windows容器外,完全可以作为VMware的替代品。如果实在不习惯Docker命令模式的,也有Docker GUI程序可供使用。
有兴趣的欢迎一起读这本书《11招玩转网络安全——用Python,更安全》
《11招玩转网络安全》之第一招:Docker For Docker的更多相关文章
- 《11招玩转网络安全》之第四招:low级别的DVWA SQL注入
以DVWA为例,进行手工注入,帮助读者了解注入原理和过程. 1.启动docker,并在终端中执行命令: docker ps -a docker start LocalDVWA docker ps 执行 ...
- 《11招玩转网络安全》之第三招:Web暴力破解-Low级别
Docker中启动LocalDVWA容器,准备DVWA环境.在浏览器地址栏输入http://127.0.0.1,中打开DVWA靶机.自动跳转到了http://127.0.0.1/login.php登录 ...
- 《11招玩转网络安全》之第五招:DVWA命令注入
首先还是将DVWA的安全级别设置为Low,然后单击DVWA页面左侧的Command Injection按钮. 图5-1 Low级别的命令注入 这个就是最典型的命令注入接口.在文本框中输入一个IP ...
- 11招玩转黑客攻防——用Python,更安全
Python真是无所不能,学习Python,一个暑假就够了 !! 入门Python,从黑客入手最好玩.最简单 !! 今天就推荐一本书<11招玩转网络安全——用Python,更安全> 内网攻 ...
- 云计算之路-阿里云上:消灭“黑色n秒”第一招——不让CPU空闲
昨天对“黑色n秒”问题的最终猜想以失败而告终,从而让我们结束了被动猜想阶段,进入了主动进攻阶段——出招. 今天出第一招——用C#写个小程序,让其在每个CPU核上运行一个线程,不让任何一个CPU核进入空 ...
- Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招
原文:Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招 在前几期中总结分享了Android的前世今生.Android 系统架构和应用组件那些事.带你一起来聊一聊Android开 ...
- Docker学习第一天(Docker入门&&Docker镜像管理)
简介 今天小区的超市买零食老板给我说再过几天可能就卖完了我有点诧异,老板又说厂家不生产了emmm 今天总算开始docker了! 1.Docker? 1.什么是Docker Docker 是一个开源的应 ...
- 2018春招-今日头条笔试题-第一题(python)
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 要想得到输入的数字列中存在相隔为k的数,可以将输入的数字加上k,然后判断其在不在输入的数字列中即可. #-*- cod ...
- oracle第一招之神马都是浮云
oracle: 一款关系型(二维表)数据库,可以用来存储海量数据.在大数据量并发检索的情况下,性能要高于其他的同类数据库产品.一般运行环境是Linux和Unix操作系统上! 目前最流行的商业数据库,主 ...
随机推荐
- 同步锁Synchronized与Lock的区别?
synchronized与Lock两者区别: 1:Lock是一个接口,而Synchronized是关键字. 2:Synchronized会自动释放锁,而Lock必须手动释放锁. 3:Lock可以让等待 ...
- 【Python 14】分形树绘制2.0(重复五角星+Turtle库文档)
1.案例描述 加入循环操作绘制重复不同大小的图形 2.案例分析 3.turtle库补充 # 画笔控制函数 turtle.penup() # 抬起画笔,之后移动画笔不绘制图形 turtle.pendow ...
- java 项目打jar包,用cmd运行,并且编写运行脚本
项目是ideal编辑器的springboot项目的demo.打包就是在侧边栏,点击packge ,就会在target下生成jar包. 生成之后把 jar包放在一个文件夹中.新建一个txt文件,在txt ...
- Jenkins pipeline:pipeline 语法详解
jenkins pipeline 总体介绍 pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. ...
- Logging 日志配置格式模板
import osBASE_DIR = os.path.dirname(os.path.dirname(__file__))DB_PATH = os.path.join(BASE_DIR, 'db') ...
- Asp.Net WebApi 使用OWIN架构后,出现 “没有 OWIN 身份验证管理器与此请求相关联(No OWIN authentication manager is associated with the request)” 异常的解决办法
在Asp.Net WebApi 项目中使用OWIN模块之后,如果没有在OWIN的Startup类中配置认证方式,调用WebApi的相关Controller和Action就会出现如下异常: 出现错误. ...
- iOS开发基础-图片切换(3)之属性列表
延续:iOS开发基础-图片切换(2),对(2)里面的代码用属性列表plist进行改善. 新建 Property List 命名为 Data 获得一个后缀为 .plist 的文件. 按如图修改刚创建的文 ...
- Gruntfile.js模板
module.exports = function(grunt) { // 配置项 var AppConfig = { name: 'app', //源文件目录 src: 'app/src', //生 ...
- Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page
Razor Page介绍 前言 上周期待已久的Asp.Net Core 2.0提前发布了,一下子Net圈热闹了起来,2.0带来了很多新的特性和新的功能,其中Razor Page引起我的关注,作为web ...
- 循环语句--do...while
do...while循环 格式: 执行流程 执行顺序:①③④>②③④>②③④…②不满足为止. ①负责完成循环变量初始化. ②负责判断是否满足循环条件,不满足则跳出循环. ③具体执行的语句 ...