《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

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

  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,更安全》

原文地址:https://www.cnblogs.com/liqiang001/p/9261108.html

时间: 2024-10-29 21:31:32

《11招玩转网络安全》之第一招:Docker For Docker的相关文章

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

以DVWA为例,进行手工注入,帮助读者了解注入原理和过程. 1.启动docker,并在终端中执行命令: docker ps -a docker start LocalDVWA docker ps 执行结果如图4-19所示. ? 图4-19  启动DVWA 2.在浏览器地址栏输入127.0.0.1后回车,浏览器打开了DVWA页面(DVWA在前面的章节中已建立完毕).先点击左侧栏的DVWA Security,将难度调整至Low级别.单击左侧栏的SQL Injection,进入SQL注入页面,如图4-

《11招玩转网络安全》之第二招:漏洞扫描

1.Nexpose默认的端口是3780,所以用浏览器打开https://localhost:3780打开Nexpose的客户端,单击左上角的主页按钮,打开Nexpose客户端的主页.单击左下角的“创建站点”按钮,开始创建扫描任务,如图2-30所示. 图2-30  Nexpose客户端 2.单击“信息和安全”菜单,在一般选项中填入任务名称,这里建立的任务名称是Widnows2000,如图2-31所示. 图2-31  创建任务名称 3.单击“资产”菜单,在资产中填入被扫描服务器的IP地址,这里填入虚

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

首先还是将DVWA的安全级别设置为Low,然后单击DVWA页面左侧的Command Injection按钮. ? 图5-1  Low级别的命令注入 这个就是最典型的命令注入接口.在文本框中输入一个IP地址,然后返回ping命令的结果,单击页面右下角的View Source按钮,查看页面的源码,如图5-2所示. ? 图5-2  Low级别命令注入源码 从图中可以看出,服务器对输入的参数没有做任何的检查,直接使用shell_exec里面执行了.使用者完全可以在IP后面构建任何命令进行注入.最简单的构

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

Python真是无所不能,学习Python,一个暑假就够了 !! 入门Python,从黑客入手最好玩.最简单 !! 今天就推荐一本书<11招玩转网络安全——用Python,更安全> 内网攻防 外网攻防 无线网破解 Web服务器攻防 数据服务器攻防 如何更安全?如何用Python玩?北京科技大学的硕士告诉你. 原文地址:https://www.cnblogs.com/liqiang001/p/9260796.html

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

昨天对"黑色n秒"问题的最终猜想以失败而告终,从而让我们结束了被动猜想阶段,进入了主动进攻阶段--出招. 今天出第一招--用C#写个小程序,让其在每个CPU核上运行一个线程,不让任何一个CPU核进入空闲(idle)状态,以进一步排除CPU idle引起的"黑色n秒". 在这一招中,借助的最重要的武器是System.Diagnostics.ProcessThread.ProcessorAffinity.通过给ProcessorAffinity设置一个掩码,就可以指定当

正确安装和配置JDK, 高富帅养成第一招

在前几期中总结分享了Android的前世今生.Android 系统架构和应用组件那些事.带你一起来聊一聊Android开发环境,那么从本期开始正式搭建Android开发环境,正确安装和配置JDK,高富帅养成第一招. JDK的全称是Java Development Kit,翻译成中文就是Java开发工具包,主要包括Java运行环境.一些Java命令工具和Java基础的类库文件. JDK是开发任何类型Java应用程序的基础,而开发Android应用程序时主要使用的开发语言就是Java,而且安装IDE

玩转KVM:一招完成vm在线迁移

下篇预告: 玩转KVM:浅谈虚拟机lifecycle 前言 上篇一招打开vm的console口,让你轻轻松松管理vm.下面讲虚拟机是如何在kvm集群中来去自如. 为什么要迁移 迁移描述了将虚拟机从一台主机物理机移动到另一台主机的过程.虚拟机迁移可以分为:冷迁移(offline migration)和热迁移(live migration/online migration) 为什么要迁移呢? 1.负载平衡 - 当主机物理机器过载或其他主机物理机器未充分利用时,可将客户机虚拟机移动到主机物理机器,使用

《java.util.concurrent 包源码阅读》11 线程池系列之ThreadPoolExecutor 第一部分

先来看ThreadPoolExecutor的execute方法,这个方法能体现出一个Task被加入到线程池之后都发生了什么: public void execute(Runnable command) { if (command == null) throw new NullPointerException(); /* 如果运行中的worker线程数少于设定的常驻线程数,增加worker线程,把task分配给新建的worker线程 */ int c = ctl.get(); if (worker

11、堆砖块--2017网易春招

[编程题] 堆砖块 时间限制:1秒 空间限制:32768K 小易有n块砖块,每一块砖块有一个高度.小易希望利用这些砖块堆砌两座相同高度的塔.为了让问题简单,砖块堆砌就是简单的高度相加,某一块砖只能使用在一座塔中一次.小易现在让能够堆砌出来的两座塔的高度尽量高,小易能否完成呢. 输入描述: 输入包括两行: 第一行为整数n(1 ≤ n ≤ 50),即一共有n块砖块 第二行为n个整数,表示每一块砖块的高度height[i] (1 ≤ height[i] ≤ 500000) 输出描述: 如果小易能堆砌出