玩转黑客那些工具,缺少了虚拟机怎么行,除了用虚拟机虚拟整个系统,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

这里只说明最常用的几个命令,如下所示。

  1. docker search  从镜像源搜索软件
  2. docker pull   从镜像源拉取软件
  3. docker run  运行镜像为容器
  4. docker ps   显示容器列表
  5. docker images  显示镜像列表
  6. docker start  启动容器
  7. docker stop  停止运行中的容器
  8. docker rm  删除容器
  9. 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的更多相关文章

  1. 《11招玩转网络安全》之第四招:low级别的DVWA SQL注入

    以DVWA为例,进行手工注入,帮助读者了解注入原理和过程. 1.启动docker,并在终端中执行命令: docker ps -a docker start LocalDVWA docker ps 执行 ...

  2. 《11招玩转网络安全》之第三招:Web暴力破解-Low级别

    Docker中启动LocalDVWA容器,准备DVWA环境.在浏览器地址栏输入http://127.0.0.1,中打开DVWA靶机.自动跳转到了http://127.0.0.1/login.php登录 ...

  3. 《11招玩转网络安全》之第五招:DVWA命令注入

    首先还是将DVWA的安全级别设置为Low,然后单击DVWA页面左侧的Command Injection按钮. ​ 图5-1  Low级别的命令注入 这个就是最典型的命令注入接口.在文本框中输入一个IP ...

  4. 11招玩转黑客攻防——用Python,更安全

    Python真是无所不能,学习Python,一个暑假就够了 !! 入门Python,从黑客入手最好玩.最简单 !! 今天就推荐一本书<11招玩转网络安全——用Python,更安全> 内网攻 ...

  5. 云计算之路-阿里云上:消灭“黑色n秒”第一招——不让CPU空闲

    昨天对“黑色n秒”问题的最终猜想以失败而告终,从而让我们结束了被动猜想阶段,进入了主动进攻阶段——出招. 今天出第一招——用C#写个小程序,让其在每个CPU核上运行一个线程,不让任何一个CPU核进入空 ...

  6. Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招

    原文:Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招 在前几期中总结分享了Android的前世今生.Android 系统架构和应用组件那些事.带你一起来聊一聊Android开 ...

  7. Docker学习第一天(Docker入门&&Docker镜像管理)

    简介 今天小区的超市买零食老板给我说再过几天可能就卖完了我有点诧异,老板又说厂家不生产了emmm 今天总算开始docker了! 1.Docker? 1.什么是Docker Docker 是一个开源的应 ...

  8. 2018春招-今日头条笔试题-第一题(python)

    题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 要想得到输入的数字列中存在相隔为k的数,可以将输入的数字加上k,然后判断其在不在输入的数字列中即可. #-*- cod ...

  9. oracle第一招之神马都是浮云

    oracle: 一款关系型(二维表)数据库,可以用来存储海量数据.在大数据量并发检索的情况下,性能要高于其他的同类数据库产品.一般运行环境是Linux和Unix操作系统上! 目前最流行的商业数据库,主 ...

随机推荐

  1. Python开发【内置模块篇】os模块

    1.当前路径及路径下的文件 os.getcwd():查看当前所在路径. >>> import os >>> os.getcwd() 'E:\\test' >& ...

  2. linux-python3.8安装

    环境:  centos7.5 版本:python3.8 1.依赖包安装 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-deve ...

  3. 洛谷 P1226 【模板】快速幂||取余运算

    题目链接 https://www.luogu.org/problemnew/show/P1226 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 ...

  4. java8 Lambda表达式的新手上车指南(1)--基础语法和函数式接口

    背景 java9的一再推迟发布,似乎让我们恍然想起离发布java8已经过去了三年之久,java8应该算的上java语言在历代版本中变化最大的一个版本了,最大的新特性应该算得上是增加了lambda表达式 ...

  5. Pandas 把数据写入csv

    Pandas 把数据写入csv from sklearn import datasets import pandas as pd iris = datasets.load_iris() iris_X ...

  6. Windows 10 安装过程中,在自定义登录页面进入审核模式

    按ctrl-f3进入审核模式 https://msdn.microsoft.com/zh-cn/windows/hardware/commercialize/manufacture/desktop/b ...

  7. OSGI嵌入tomcat应用服务器(gem-web)——tomcat插件环境搭建

    相关的资源下载,参考:https://www.cnblogs.com/dyh004/p/10642769.html 新建普通的plugin工程 新建工程运行环境 在工程中,新建运行环境 新建存放运行环 ...

  8. JS 优化条件语句的5个技巧

    前言 在使用 JavaScript 的时候,有时我们会处理大量条件语句,这里有5个技巧帮助我们编写更简洁的条件语句. 一.对多个条件使用 Array.includes 例子: function con ...

  9. vuex学习总结

    vuex 学习 mapState,mapGetters 一般也写在 computed 中 , mapActions 一般写在 methods中.

  10. Flask 快速使用 —— (1)

    Flask.Django.Tornado框架 区别 1  Django:重武器,内部包含了非常多组件:ORM.Form.ModelForm.缓存.Session.中间件.信号等... 2   Flas ...