玩转黑客那些工具,缺少了虚拟机怎么行,除了用虚拟机虚拟整个系统,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. 验证二叉搜索树的golang实现

    给定一个二叉树,判断其是否是一个有效的二叉搜索树. 一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当前节点的数. 所有左子树和右子树自身必须也是二叉搜索树. ...

  2. DecimalFormat格式化十进制数字

    DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字.该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言.阿拉伯语和印度语数字的支持. ...

  3. [看图说话]在VMware Workstation 9中安装Mac OS X 10.8 Mountain Lion

    本文环境: CPU:Intel Core i7 920: OS:Windows 7: 内存:8G: 玩Hackintosh各有各的理由,不管什么理由,利用虚拟机安装Mac OS X都是一个可行的办法. ...

  4. MyBatis 学习总结 01 快速入门

    本文测试源码下载地址: http://onl5wa4sd.bkt.clouddn.com/MyBatis0918.rar 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级 ...

  5. 【转】SpringBoot启动服务的三种方式

    1.IDEA启动 2.命令行启动 首先将命令行位置跳转到当前项目的根目录下,再输入“mvn spring-boot:run”命令,初次操作maven需要下载插件等待几分钟 3.命令行编译为jar启动 ...

  6. FastStone Capture激活码

    用户名:c1ikm注册码:AXMQX-RMMMJ-DBHHF-WIHTV 或 AXOQS-RRMGS-ODAQO-APHUU

  7. bzoj 3223: Tyvj 1729 文艺平衡树 (splay)

    链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3223 题面: 3223: Tyvj 1729 文艺平衡树 Time Limit: 10 S ...

  8. BZOJ3456城市规划

    题目描述 刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了.刚才说过, 阿狸的国家有n个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或间接的连通.为了 ...

  9. Spring中的AOP 专题

    Caused by: java.lang.IllegalArgumentException: ProceedingJoinPoint is only supported for around advi ...

  10. 【洛谷P3605】晋升者计数

    题目大意:给定一棵 N 个点的树,点有点权,求对于每个点来说,以该点为根的子树内比该点点权小的点的个数. 题解:考虑对于每个点开一棵权值线段树.递归过程中,将子树的信息合并到父节点上,统计答案后,再将 ...