咱们在学习前端的时候,老是会想着去学习其余人网站是如何制做的,或者咱们遇到一些比较有用的知识点的时候,咱们可能会选择经过 Ctrl + C / Ctrl + V
去扒下内容,然而我并不是是鼓励这种扒网站的行为,不过只要是开源的,不用于商业用途,我以为你们均可以相互借鉴一下的啦,毕竟重复造轮子的事情就是在浪费时间。而经过 Ctrl + C / Ctrl + V
这种方式过于麻烦,而且如今的图片基本上都有防盗链了,或者路径由图床改为了本地的相对路径,单纯的复制粘贴很难把网站的相关内容扒的干净,因而咱们有了以下的思考:如何才能将一个网站的内容完整的 clone 下来呢?css
初学的时候,咱们经过 view-source:https://xxx.xxx.xxx
这种方式查看网页的源代码,新建一个 index.html 文件,而后将内容复制粘贴到 index.html 内容中,或者直接 wget 下来也是能够的。但就像我上面说的那样,没有办法完整的拷贝网页上的所有内容。随着学习的深刻,了解到了 python 爬虫的时候,有过这种实例,可是在实现效果上并非那么友好。html
随着学习的进一步深刻,有了专门针对网站克隆的软件,如 WebZip
、awwwb.com
等等,听说挺好用的,咱也没试过,咱也不肯定啊(多年不用 Windows )。今天我给你们介绍一款开源且超好用的网站克隆机 httrack
。前端
HTTrack 是一个免费并易于使用的线下浏览器工具,全称是 HTTrack Website Copier for Windows,它可以让你从互联网上下载指定的网站进行线下浏览(离线浏览),也能够用来收集信息(甚至有网站使用隐藏的密码文件),一些仿真度极高的伪网站(为了骗取用户密码),也是使用相似工具作的。浏览线下站点和线上并无什么不一样。python
HTTrack 一样能够进行线下线上站点同步,支持断点续传。HTTrack 是一个可全面配置并包括全面的帮助系统的工具。对于传统的像存在 Robots.txt 的网站,若是程序运行的时候不作限制,在默认的环境下程序不会把网站镜像,简单来讲 HTTPrack 跟随基本的 JavaScript 或者 APPLet、flash 中的连接,对于复杂的连接(使用函数和表达式建立的连接)或者服务器端的 ImageMap 则不能镜像。通常不用挖的太深就能获取目标信息好比网站的物理地址,电话号码,电子邮箱地址,运营时间,商业关系,员工的姓名,与社会关系,以及公开的一些花絮。作渗透测试时新闻其实也很重要,公司时常会公开一些本身感到骄傲的事情,这些报到中可能会泄露有用的信息,企业兼并服务器运转的状况等等。linux
用 Httrack 能够将一个网站拷贝下来,以此进行下线的探测发现,以此减小对目标网站的直接交互。Httrack 的使用很简单,只须要根据其向导按步骤进行就行了。git
HTTrack 已经被预安装在如下 Linux 系统中:github
如没有能够自行参考如下的安装方式进行下载安装。web
HTTrack 支持 Windows、Linux 和 MacOS 等主流的操做系统,且针对 Windows 而言,HTTrack 有可视化界面的支持,效果以下:shell
最新版的 HTTrack 能够经过如下方式进行下载使用。windows
经过 http://www.httrack.com/page/2/en/index.html,Download 下载对应的版本便可。
# Debian/Ubuntu下安装 sudo apt install httrack # CentOS/Fedora下安装 sudo yum install httrack # Gentoo下安装 sudo emerge httrack
sudo port install httrack # 或者 brew install httrack
git clone https://github.com/xroche/httrack.git --recurse cd httrack ./configure --prefix=$HOME/usr && make -j8 && make install
具体参考:http://www.httrack.com/page/2/en/index.html
经常使用的参数选项能够经过 httrack --help
查看。
下面我以某一测试站点 https://progit.bootcss.com/
为例,来演示其操做过程。
在安装好 httrack 的 Mac OSX 10.11 的系统中,打开 shell 终端,直接输入 httrack 便可。
接下来咱们要填入以下相关信息:
Welcome to HTTrack Website Copier (Offline Browser) 3.49-2 Copyright (C) 1998-2017 Xavier Roche and other contributors To see the option list, enter a blank line or try httrack --help # 1. 输入待生成的项目名称 Enter project name :progit # 2. 输入待保存的项目所在的路径 Base path (return=/Users/apple/websites/) :/Users/apple/Desktop # 3. 输入须要克隆的网站的 url Enter URLs (separated by commas or blank spaces) :https://progit.bootcss.com/ Action: (enter) 1 Mirror Web Site(s) 2 Mirror Web Site(s) with Wizard 3 Just Get Files Indicated 4 Mirror ALL links in URLs (Multiple Mirror) 5 Test Links In URLs (Bookmark Test) 0 Quit : # 4. 没有特别要求直接回车便可 Proxy (return=none) : You can define wildcards, like: -*.gif +www.*.com/*.zip -*img_*.zip # 5. 没有特别要求直接回车便可 Wildcards (return=none) : You can define additional options, such as recurse level (-r<number>), separated by blank spaces To see the option list, type help # 6. 没有特别要求直接回车便可 Additional options (return=none) : ---> Wizard command line: httrack https://progit.bootcss.com/ -O "/Users/apple/Desktop/progit" -%v Ready to launch the mirror? (Y/n) :Y Mirror launched on Thu, 15 Aug 2019 11:54:40 by HTTrack Website Copier/3.49-2 [XR&CO'2014] mirroring https://progit.bootcss.com/ with the wizard help.. Done. Thanks for using HTTrack! *
克隆效果以下:
克隆下来的网页几乎与原网站毫无差异,效果超级的 nice。
也能够经过查看 help 选项采用不一样的选项方式进行克隆。
镜像下来的网页能够在离线的方式,进行渗透分析,传统的在网站主机上浏览网页,你浏览的和摸索的时间越多,活动可能被网站跟踪,哪怕是随意的浏览网站,也会被记录踪影,只要属于目标资源,任什么时候候与之直接交互,均可能留下数字痕迹。
可是,在没有进行受权的时候千万不要使用该软件进行镜像网站上的网页,像部署了安全狗或者其余防火墙的专业软件可能会记录这种行为为攻击性质。