《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操作系统上! 目前最流行的商业数据库,主 ...
随机推荐
- Java开发学习心得(一):SSM环境搭建
目录 Java开发学习心得(一):SSM环境搭建 1 SSM框架 1.1 Spring Framework 1.2 Spring MVC Java开发学习心得(一):SSM环境搭建 有一点.NET的开 ...
- 数据流中的第k大元素的golang实现
设计一个找到数据流中第K大元素的类(class).注意是排序后的第K大元素,不是第K个不同的元素. 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中 ...
- DRF 序列化器-Serializer (2)
作用 1. 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串 2. 完成数据校验功能 3. 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器 ...
- js 获取输入框中光标的索引位置
<html> <head></head> <body> <script> function getTxt1CursorPosition(){ ...
- Example of DenseCRF with non-RGB data
本笔记本通过一个示例说明如何在非rgb数据上使用DenseCRFs.同时,它将解释基本概念并通过一个示例进行演示,因此即使您正在处理RGB数据,它也可能是有用的,不过也请查看PyDenseCRF's ...
- Linux内存都去哪了:(1)分析memblock在启动过程中对内存的影响
关键词:memblock.totalram_pages.meminfo.MemTotal.CMA等. 最近在做低成本方案,需要研究一整块RAM都用在哪里了? 最直观的的就是通过/proc/meminf ...
- JavaWeb工程中web.xml基本配置(转载学习)
一.理论准备 先说下我记得xml规则,必须有且只有一个根节点,大小写敏感,标签不嵌套,必须配对. web.xml是不是必须的呢?不是的,只要你不用到里面的配置信息就好了,不过在大型web工程下使用该文 ...
- JS中的块级作用域,var、let、const三者的区别
1. 块作用域{ } <script type="text/javascript"> { var a = 1; console.log(a); // 1 } conso ...
- LODOP设置打印设计返回JS代码是变量
前面有一篇博文是介绍JS模版的加载和赋值,赋值有两种,详细可查看本博客的那篇博文:LodopJS代码模版的加载和赋值简单来说,就是打印项的值是变量,在添加打印项前进行赋值:打印项的值是字符串,给打印项 ...
- js 实现的页面图片放大器以及 event中的诸多 x
背景: 淘宝.天猫等电商网站浏览图片时可以查看大图的功能: 思路: 思路很简单,两张图片,一张较小渲染在页面上,一张较大是细节图,随鼠标事件调整它的 left & top; 需要的知识点: o ...