1. 程式人生 > >《11招玩轉網絡安全》之第一招:Docker For Docker

《11招玩轉網絡安全》之第一招:Docker For Docker

選擇 自帶 網絡安全 exe b-s 停止 1-57 模式 mirror

玩轉×××那些工具,缺少了虛擬機怎麽行,除了用虛擬機虛擬整個系統,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 命令,暫時的使用鏡像裏的程序,如圖1-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