在 Kali Linux 中,可以使用一些工具将网站或网页克隆到本地。最常用的方法有以下几种,具体取决于你的用途(仅供学习和合法授权场景中使用):
🔹 方法 1:使用 HTTrack(适合完整克隆整个网站)
HTTrack 是一个常用的网页镜像工具,可将整个网站下载到本地。
安装(Kali 通常已自带):
sudo apt update
sudo apt install httrack
使用示例:
httrack http://example.com -O ~/website_copy
http://example.com:目标网址-O ~/website_copy:输出目录
运行后,HTTrack 会递归抓取整个网站,包括 HTML、CSS、JS、图片等。
🔹 方法 2:使用 wget(适合克隆网页或小网站)
wget 是命令行下载工具,也可以用来克隆网页或站点。
克隆整个网站(带资源):
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.com
参数说明:
--mirror:开启镜像模式--convert-links:转换链接为本地可用--adjust-extension:根据内容调整文件扩展名--page-requisites:下载页面显示所需的所有资源(图片、CSS、JS)--no-parent:不抓取上层目录内容
克隆整个网站(带后缀):
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.com/login
参数说明:
--mirror:递归下载整个页面--convert-links:转换链接为本地路径--adjust-extension:自动添加.html后缀--page-requisites:下载CSS/JS/图片等资源--no-parent:不下载上级目录
克隆单个网页:
wget -p -k http://example.com/page.html
-p:下载显示网页所需的所有文件-k:将链接转换为本地链接
🔹 方法 3:使用 setoolkit(社会工程学工具包,用于钓鱼克隆等)
⚠️ 注意:仅供教育用途,禁止非法使用!
- 启动 SET 工具:
sudo setoolkit - 菜单中选择:
1Social-Engineering Attacks2Website Attack Vectors3Credential Harvester Attack Method2Site Cloner
- 输入目标网站 URL,SET 会自动克隆并在本地运行一个 web 服务器。
🔹 克隆后如何查看
克隆完的网站会保存在你指定的目录中,你可以用浏览器打开 index.html 来查看效果:
xdg-open index.html
原理
网站克隆的原理,其实就是通过模拟浏览器访问网页,然后下载网页的组成部分(HTML、CSS、JS、图片等),保存在本地并保持链接结构,使它在本地能像在线访问一样打开。
🧠 网站克隆的原理详解
🔹 1. HTTP 请求 + HTML 解析
当你用工具(如 wget 或 HTTrack)访问一个网站时,它会:
- 模拟浏览器发送 HTTP 请求(GET 请求)到服务器
- 得到服务器返回的 HTML 文本
- 解析 HTML 中的内容,如:
<img src="...">→ 图片资源<link href="...">→ CSS 样式文件<script src="...">→ JavaScript 脚本文件
- 把这些资源的 URL 抽取出来,再逐个下载
🔹 2. 下载页面资源
克隆工具会递归地抓取这些资源,例如:
<img src="/images/logo.png">
<link rel="stylesheet" href="styles/main.css">
工具会自动拼接完整 URL,然后发送请求下载这些文件,并保存在本地目录中。
🔹 3. 转换链接为本地可用
为了在本地打开克隆网页,工具会把网页中的链接修改为本地路径,例如:
<link href="https://example.com/styles/main.css">
会被替换成:
<link href="styles/main.css">
这样浏览器打开本地 HTML 时也能正确加载资源。
🔹 4. 保留文件结构
克隆工具通常会保留网站的目录结构,方便你本地查看和修改。
❌ 克隆的限制
虽然可以下载“前端”源码,但无法下载“后端”逻辑,如:
| 可下载部分 | 不可下载部分 |
|---|---|
| HTML 页面 | 服务器端语言 (PHP、Python、Node.js 等) |
| 图片、CSS、JS | 数据库内容 |
| 静态数据(公开的 JSON) | 登录后数据、后台管理等 |
例如,克隆百度首页你只能得到页面的 HTML 和 JavaScript,但无法得到百度的搜索引擎核心逻辑。
总结一句话:
网站克隆 = 模拟浏览器访问 + 抓取前端资源 + 本地保存 + 修改链接路径










