Kali Linux 官方下载网站及镜像站点整理

Kali Linux 官方下载网站及镜像站点整理

Kali Linux 官方下载网站及镜像站点整理

文章站点:(附件)(https://www.calcguide.tech/2025/08/23/kali-linux-download-%e5%ae%98%e6%96%b9%e7%ab%99%e7%82%b9%e5%8f%8a%e9%95%9c%e5%83%8f%e7%ab%99%e7%82%b9%e6%95%b4%e7%90%86/)

🌐 官方下载网站

官方主站

官方网站: https://www.kali.org/官方下载页面: https://www.kali.org/get-kali/官方文档: https://www.kali.org/docs/

官方直接下载链接

最新版 ISO: https://cdimage.kali.org/kali-current/每周构建版: https://cdimage.kali.org/kali-weekly/历史版本: https://cdimage.kali.org/

🌍 国内镜像站点

教育网镜像

清华大学镜像站

地址: https://mirrors.tuna.tsinghua.edu.cn/kali/特点: 速度快,稳定 中科大镜像站

地址: https://mirrors.ustc.edu.cn/kali/特点: 同步及时 上海交通大学镜像站

地址: https://mirror.sjtu.edu.cn/kali/特点: 华东地区访问快 华中科技大学镜像站

地址: https://mirrors.hust.edu.cn/kali/特点: 华中地区优化

商业镜像

阿里云镜像站

地址: https://mirrors.aliyun.com/kali/特点: 全国 CDN 加速 华为云镜像站

地址: https://mirrors.huaweicloud.com/kali/特点: 企业级稳定性 腾讯云镜像站

地址: https://mirrors.cloud.tencent.com/kali/特点: 南方地区访问优化

🌎 国际镜像站点

亚洲地区

日本镜像

地址: https://kali.download/kali/特点: 官方推荐镜像 韩国镜像

地址: https://ftp.kaist.ac.kr/kali/特点: 亚洲地区备选

欧洲地区

德国镜像

地址: https://ftp.halifax.rwth-aachen.de/kali/特点: 欧洲地区优选 法国镜像

地址: https://kali.mirror.garr.it/kali/特点: 欧洲高速镜像 英国镜像

地址: https://www.mirrorservice.org/sites/ftp.kali.org/kali/特点: 英国教育网镜像

北美地区

美国镜像

地址: https://kali.mirror.globo.tech/kali/特点: 美国西海岸镜像

📦 不同版本下载链接

桌面版

标准版: kali-linux-default-amd64.iso大型版: kali-linux-large-amd64.iso全功能版: kali-linux-everything-amd64.iso

轻量版

轻量版: kali-linux-light-amd64.iso最小版: kali-linux-minimal-amd64.iso

特殊用途版

NetHunter: 专为移动设备设计ARM版: 适配ARM架构设备Live版: 可直接启动的Live系统

⚡ 下载建议

选择镜像的建议

国内用户: 优先选择清华、中科大、阿里云等镜像教育网用户: 优先选择教育网镜像站点海外用户: 选择地理位置较近的官方镜像

下载方式

# 使用 wget 下载(推荐)

wget https://cdimage.kali.org/kali-current/kali-linux-default-amd64.iso

# 使用 aria2 多线程下载

aria2c -x 16 -s 16 https://cdimage.kali.org/kali-current/kali-linux-default-amd64.iso

# 使用 curl 下载

curl -O https://cdimage.kali.org/kali-current/kali-linux-default-amd64.iso

校验文件完整性

# 校验 SHA256 哈希值

sha256sum kali-linux-default-amd64.iso

# 校验 GPG 签名

gpg --verify kali-linux-default-amd64.iso.sig kali-linux-default-amd64.iso

🔧 相关工具

镜像写入工具

Rufus (Windows)Etcher (跨平台)UNetbootin (跨平台)Ventoy (多镜像管理)

虚拟机镜像

VMware: 提供预配置的虚拟机镜像VirtualBox: OVA 格式虚拟机Hyper-V: VHDX 格式镜像

⚠️ 注意事项

安全提醒: 请从官方或可信镜像下载校验文件: 下载后务必校验文件完整性合法使用: 仅用于合法的安全测试目的系统要求: 确认硬件满足最低配置要求

🔄 更新源配置

使用国内镜像源可以加快软件包更新速度:

# 编辑源列表

sudo nano /etc/apt/sources.list

# 添加国内镜像源(以清华为例)

deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib

deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib

这些镜像站点可以为您提供快速稳定的 Kali Linux 下载体验。建议根据您的地理位置和网络环境选择最适合的镜像站点。

Kali Linux Smart Download Script

#!/bin/bash

# Kali Linux Smart Download Script

# Automatically detects language, country, and OS to select the fastest mirror

# Colors for output

RED='\033[0;31m'

GREEN='\033[0;32m'

YELLOW='\033[1;33m'

BLUE='\033[0;34m'

PURPLE='\033[0;35m'

CYAN='\033[0;36m'

NC='\033[0m' # No Color

# Global variables

SCRIPT_VERSION="1.0"

SELECTED_MIRROR=""

SELECTED_VERSION=""

DOWNLOAD_URL=""

DOWNLOAD_DIR=""

LANGUAGE=""

COUNTRY=""

OS_TYPE=""

# Mirror lists by region

declare -A MIRRORS_CN=(

["tsinghua"]="https://mirrors.tuna.tsinghua.edu.cn/kali"

["ustc"]="https://mirrors.ustc.edu.cn/kali"

["aliyun"]="https://mirrors.aliyun.com/kali"

["huaweicloud"]="https://mirrors.huaweicloud.com/kali"

["sjtu"]="https://mirror.sjtu.edu.cn/kali"

["hust"]="https://mirrors.hust.edu.cn/kali"

["tencent"]="https://mirrors.cloud.tencent.com/kali"

)

declare -A MIRRORS_GLOBAL=(

["official"]="https://http.kali.org/kali"

["jp"]="https://kali.download/kali"

["de"]="https://ftp.halifax.rwth-aachen.de/kali"

["fr"]="https://kali.mirror.garr.it/kali"

["uk"]="https://www.mirrorservice.org/sites/ftp.kali.org/kali"

["us"]="https://kali.mirror.globo.tech/kali"

)

# Kali versions

declare -A KALI_VERSIONS=(

["default"]="kali-linux-default-amd64.iso"

["large"]="kali-linux-large-amd64.iso"

["everything"]="kali-linux-everything-amd64.iso"

["light"]="kali-linux-light-amd64.iso"

["minimal"]="kali-linux-minimal-amd64.iso"

)

# Function to print banner

print_banner() {

echo -e "${CYAN}"

echo " _ __ _ _ _ _ _ _ "

echo " | |/ / | | | | | (_) | (_) "

echo " | ' / __ _ | | | | |___ _ ___| |_ ___ "

echo " | < / _\` | | | | | / __| / __| | / __|"

echo " | . \ (_| | | | |__| \__ \ \__ \ | \__ \\"

echo " |_|\_\__,_|_|_|\____/|___/_|___/_|_|___/"

echo -e "${NC}"

echo -e "${YELLOW}Kali Linux Smart Download Script v${SCRIPT_VERSION}${NC}"

echo -e "${BLUE}Automatically selecting the fastest mirror for your location${NC}"

echo ""

}

# Function to detect system information

detect_system() {

echo -e "${GREEN}[INFO]${NC} Detecting system information..."

# Detect language

if [ -n "$LANG" ]; then

LANGUAGE=$(echo "$LANG" | cut -d'_' -f1 | tr '[:upper:]' '[:lower:]')

else

LANGUAGE="en"

fi

# Detect country

if command -v curl >/dev/null 2>&1; then

COUNTRY=$(curl -s https://ipapi.co/country_code/ 2>/dev/null || echo "US")

elif command -v wget >/dev/null 2>&1; then

COUNTRY=$(wget -qO- https://ipapi.co/country_code/ 2>/dev/null || echo "US")

else

COUNTRY="US"

fi

# Detect OS type

if [[ "$OSTYPE" == "linux-gnu"* ]]; then

OS_TYPE="Linux"

elif [[ "$OSTYPE" == "darwin"* ]]; then

OS_TYPE="macOS"

elif [[ "$OSTYPE" == "cygwin" ]] || [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "win32" ]]; then

OS_TYPE="Windows"

else

OS_TYPE="Unknown"

fi

echo -e "${BLUE}Language:${NC} $LANGUAGE"

echo -e "${BLUE}Country:${NC} $COUNTRY"

echo -e "${BLUE}OS Type:${NC} $OS_TYPE"

echo ""

}

# Function to test mirror speed

test_mirror_speed() {

local mirror_url=$1

local timeout=10

echo -ne "${YELLOW}Testing${NC} $mirror_url ... "

# Test connection speed

if command -v curl >/dev/null 2>&1; then

local start_time=$(date +%s%3N)

local response=$(curl -s -o /dev/null -w "%{http_code}" --max-time $timeout "$mirror_url" 2>/dev/null)

local end_time=$(date +%s%3N)

local duration=$((end_time - start_time))

elif command -v wget >/dev/null 2>&1; then

local start_time=$(date +%s%3N)

local response=$(wget -q --spider --timeout=$timeout "$mirror_url" 2>&1 && echo "200" || echo "0")

local end_time=$(date +%s%3N)

local duration=$((end_time - start_time))

else

echo -e "${RED}[FAIL]${NC} No download tool available"

return 999

fi

if [ "$response" = "200" ] || [ "$response" = "301" ] || [ "$response" = "302" ]; then

echo -e "${GREEN}[OK]${NC} (${duration}ms)"

return $duration

else

echo -e "${RED}[FAIL]${NC}"

return 999

fi

}

# Function to find fastest mirror

find_fastest_mirror() {

echo -e "${GREEN}[INFO]${NC} Finding the fastest mirror..."

echo ""

local fastest_time=999999

local fastest_mirror=""

local mirror_name=""

# Test Chinese mirrors if in China or Chinese language

if [[ "$COUNTRY" == "CN" ]] || [[ "$LANGUAGE" == "zh" ]]; then

echo -e "${PURPLE}[Testing Chinese Mirrors]${NC}"

for name in "${!MIRRORS_CN[@]}"; do

local url="${MIRRORS_CN[$name]}"

test_mirror_speed "$url"

local result=$?

if [ $result -lt $fastest_time ] && [ $result -ne 999 ]; then

fastest_time=$result

fastest_mirror=$url

mirror_name=$name

fi

done

echo ""

fi

# Test global mirrors

echo -e "${PURPLE}[Testing Global Mirrors]${NC}"

for name in "${!MIRRORS_GLOBAL[@]}"; do

local url="${MIRRORS_GLOBAL[$name]}"

test_mirror_speed "$url"

local result=$?

if [ $result -lt $fastest_time ] && [ $result -ne 999 ]; then

fastest_time=$result

fastest_mirror=$url

mirror_name=$name

fi

done

if [ -n "$fastest_mirror" ]; then

SELECTED_MIRROR=$fastest_mirror

echo ""

echo -e "${GREEN}[SUCCESS]${NC} Fastest mirror selected: ${BLUE}$mirror_name${NC} (${fastest_time}ms)"

echo -e "${BLUE}URL:${NC} $SELECTED_MIRROR"

else

echo -e "${RED}[ERROR]${NC} No working mirror found. Using official mirror."

SELECTED_MIRROR="${MIRRORS_GLOBAL[official]}"

fi

echo ""

}

# Function to select Kali version

select_kali_version() {

echo -e "${GREEN}[INFO]${NC} Select Kali Linux version:"

echo ""

local counter=1

local versions_list=()

for version in "${!KALI_VERSIONS[@]}"; do

echo -e "${counter}. ${YELLOW}${version}${NC} - ${KALI_VERSIONS[$version]}"

versions_list[$counter]=$version

((counter++))

done

echo ""

echo -e "${BLUE}Enter your choice (1-${#versions_list[@]}):${NC} "

read -r choice

if [[ $choice -ge 1 && $choice -le ${#versions_list[@]} ]]; then

SELECTED_VERSION="${versions_list[$choice]}"

echo -e "${GREEN}[SELECTED]${NC} Version: $SELECTED_VERSION"

else

echo -e "${YELLOW}[DEFAULT]${NC} Using default version"

SELECTED_VERSION="default"

fi

echo ""

}

# Function to select download directory

select_download_directory() {

echo -e "${GREEN}[INFO]${NC} Select download directory:"

echo ""

# Default download locations

local default_dir=""

if [[ "$OS_TYPE" == "Windows" ]]; then

default_dir="$HOME/Downloads"

elif [[ "$OS_TYPE" == "macOS" ]]; then

default_dir="$HOME/Downloads"

else

default_dir="$HOME/Downloads"

fi

echo -e "Default directory: ${BLUE}$default_dir${NC}"

echo -e "Press Enter to use default, or enter custom path:"

read -r custom_dir

if [ -n "$custom_dir" ]; then

DOWNLOAD_DIR="$custom_dir"

else

DOWNLOAD_DIR="$default_dir"

fi

# Create directory if it doesn't exist

mkdir -p "$DOWNLOAD_DIR"

echo -e "${GREEN}[SELECTED]${NC} Download directory: $DOWNLOAD_DIR"

echo ""

}

# Function to construct download URL

construct_download_url() {

local iso_file="${KALI_VERSIONS[$SELECTED_VERSION]}"

# Handle different mirror URL structures

if [[ "$SELECTED_MIRROR" == *"kali.org"* ]] || [[ "$SELECTED_MIRROR" == *"kali.download"* ]]; then

DOWNLOAD_URL="${SELECTED_MIRROR}/current/$iso_file"

else

DOWNLOAD_URL="$SELECTED_MIRROR/$iso_file"

fi

echo -e "${GREEN}[INFO]${NC} Download URL constructed:"

echo -e "${BLUE}$DOWNLOAD_URL${NC}"

echo ""

}

# Function to download file

download_file() {

local filename=$(basename "$DOWNLOAD_URL")

local filepath="$DOWNLOAD_DIR/$filename"

echo -e "${GREEN}[INFO]${NC} Starting download..."

echo -e "${BLUE}File:${NC} $filename"

echo -e "${BLUE}Destination:${NC} $filepath"

echo ""

# Choose download method

if command -v aria2c >/dev/null 2>&1; then

echo -e "${YELLOW}[USING]${NC} aria2c (multi-threaded)"

aria2c -x 16 -s 16 -d "$DOWNLOAD_DIR" "$DOWNLOAD_URL"

elif command -v axel >/dev/null 2>&1; then

echo -e "${YELLOW}[USING]${NC} axel (multi-threaded)"

axel -n 8 -o "$filepath" "$DOWNLOAD_URL"

elif command -v wget >/dev/null 2>&1; then

echo -e "${YELLOW}[USING]${NC} wget"

cd "$DOWNLOAD_DIR" && wget "$DOWNLOAD_URL"

elif command -v curl >/dev/null 2>&1; then

echo -e "${YELLOW}[USING]${NC} curl"

cd "$DOWNLOAD_DIR" && curl -O "$DOWNLOAD_URL"

else

echo -e "${RED}[ERROR]${NC} No download tool available!"

exit 1

fi

local download_status=$?

if [ $download_status -eq 0 ]; then

echo ""

echo -e "${GREEN}[SUCCESS]${NC} Download completed!"

echo -e "${BLUE}Location:${NC} $filepath"

echo -e "${BLUE}Size:${NC} $(ls -lh "$filepath" | awk '{print $5}')"

# Verify file integrity

verify_file "$filepath"

else

echo -e "${RED}[ERROR]${NC} Download failed!"

exit 1

fi

}

# Function to verify file integrity

verify_file() {

local filepath=$1

local filename=$(basename "$filepath")

echo ""

echo -e "${GREEN}[INFO]${NC} Verifying file integrity..."

if command -v sha256sum >/dev/null 2>&1; then

echo -e "${YELLOW}[CHECKING]${NC} SHA256 checksum..."

sha256sum "$filepath"

elif command -v shasum >/dev/null 2>&1; then

echo -e "${YELLOW}[CHECKING]${NC} SHA256 checksum..."

shasum -a 256 "$filepath"

fi

echo ""

echo -e "${GREEN}[TIPS]${NC} Compare checksum with official values at:"

echo -e "${BLUE}https://www.kali.org/get-kali/#kali-installer-images${NC}"

}

# Function to show download summary

show_summary() {

echo ""

echo -e "${CYAN}========== DOWNLOAD SUMMARY ==========${NC}"

echo -e "${BLUE}Language:${NC} $LANGUAGE"

echo -e "${BLUE}Country:${NC} $COUNTRY"

echo -e "${BLUE}OS Type:${NC} $OS_TYPE"

echo -e "${BLUE}Mirror:${NC} $SELECTED_MIRROR"

echo -e "${BLUE}Version:${NC} $SELECTED_VERSION"

echo -e "${BLUE}Download Directory:${NC} $DOWNLOAD_DIR"

echo -e "${CYAN}=====================================${NC}"

echo ""

}

# Function to show help

show_help() {

echo "Kali Linux Smart Download Script"

echo ""

echo "Usage: $0 [OPTIONS]"

echo ""

echo "Options:"

echo " -h, --help Show this help message"

echo " -v, --version Show script version"

echo " --auto Run in automatic mode"

echo ""

echo "Features:"

echo " • Automatically detects your location and language"

echo " • Tests multiple mirrors to find the fastest one"

echo " • Supports multiple Kali Linux versions"

echo " • Uses the best available download tool"

echo " • Verifies file integrity after download"

}

# Function to check dependencies

check_dependencies() {

echo -e "${GREEN}[INFO]${NC} Checking dependencies..."

local tools=("curl" "wget")

local available_tools=()

for tool in "${tools[@]}"; do

if command -v "$tool" >/dev/null 2>&1; then

echo -e " ✓ ${GREEN}$tool${NC} - Available"

available_tools+=("$tool")

else

echo -e " ✗ ${RED}$tool${NC} - Not found"

fi

done

# Check download tools

local download_tools=("aria2c" "axel" "wget" "curl")

local download_available=0

for tool in "${download_tools[@]}"; do

if command -v "$tool" >/dev/null 2>&1; then

echo -e " ✓ ${GREEN}$tool${NC} - Available (download tool)"

download_available=1

fi

done

if [ $download_available -eq 0 ]; then

echo -e "${RED}[ERROR]${NC} No download tool available!"

echo -e "Please install one of: aria2c, axel, wget, curl"

exit 1

fi

echo ""

}

# Main function

main() {

# Parse command line arguments

case "$1" in

-h|--help)

show_help

exit 0

;;

-v|--version)

echo "Kali Linux Smart Download Script v$SCRIPT_VERSION"

exit 0

;;

--auto)

AUTO_MODE=1

;;

*)

AUTO_MODE=0

;;

esac

# Print banner

print_banner

# Check dependencies

check_dependencies

# Detect system information

detect_system

# Find fastest mirror

find_fastest_mirror

# Select Kali version

if [ $AUTO_MODE -eq 0 ]; then

select_kali_version

else

SELECTED_VERSION="default"

echo -e "${YELLOW}[AUTO]${NC} Using default version"

fi

# Select download directory

if [ $AUTO_MODE -eq 0 ]; then

select_download_directory

else

DOWNLOAD_DIR="$HOME/Downloads"

mkdir -p "$DOWNLOAD_DIR"

echo -e "${YELLOW}[AUTO]${NC} Using default directory: $DOWNLOAD_DIR"

fi

# Construct download URL

construct_download_url

# Show summary

show_summary

# Confirm download

if [ $AUTO_MODE -eq 0 ]; then

echo -e "${BLUE}Start download? (y/N):${NC} "

read -r confirm

if [[ ! "$confirm" =~ ^[Yy]$ ]]; then

echo -e "${YELLOW}[CANCELLED]${NC} Download cancelled by user"

exit 0

fi

fi

# Download file

download_file

# Final message

echo ""

echo -e "${GREEN}[COMPLETED]${NC} Kali Linux download finished successfully!"

echo -e "${BLUE}Next steps:${NC}"

echo -e " 1. Verify the checksum matches official values"

echo -e " 2. Write the ISO to a USB drive using Rufus, Etcher, or dd"

echo -e " 3. Boot from the USB and install Kali Linux"

echo ""

}

# Run main function

main "$@"

Usage Instructions

1. Save the script

# Save as kali-downloader.sh

nano kali-downloader.sh

# Paste the script content and save

2. Make it executable

chmod +x kali-downloader.sh

3. Run the script

# Interactive mode

./kali-downloader.sh

# Automatic mode (uses defaults)

./kali-downloader.sh --auto

# Show help

./kali-downloader.sh --help

Features

🌍 Smart Detection

Automatically detects system language and countryIdentifies OS type (Linux, macOS, Windows)Selects appropriate mirrors based on location

⚡ Speed Testing

Tests multiple mirrors simultaneouslyMeasures response time for each mirrorAutomatically selects the fastest working mirror

📦 Version Selection

Multiple Kali Linux versions available:

Default (standard desktop)Large (extended tools)Everything (full package set)Light (minimal installation)Minimal (smallest footprint)

🛠️ Intelligent Download

Uses the best available download tool:

aria2c (multi-threaded, fastest)axel (multi-threaded)wget (standard)curl (fallback) Supports resume interrupted downloadsShows real-time progress

🔍 Verification

Automatically verifies file integrityDisplays SHA256 checksumProvides official verification links

🌈 User Experience

Colorful, informative outputInteractive menu systemProgress indicatorsError handling and recovery

Requirements

Dependencies (at least one required):

aria2c - Multi-threaded download (recommended)axel - Multi-threaded downloadwget - Standard download toolcurl - HTTP client

Installation of dependencies:

# Ubuntu/Debian

sudo apt update

sudo apt install aria2 wget curl

# CentOS/RHEL/Fedora

sudo yum install aria2 wget curl

# or

sudo dnf install aria2 wget curl

# macOS

brew install aria2 wget curl

# Windows (WSL)

sudo apt install aria2 wget curl

Advanced Usage

Command Line Options:

./kali-downloader.sh --help # Show help

./kali-downloader.sh --version # Show version

./kali-downloader.sh --auto # Automatic mode

Environment Variables:

export KALI_VERSION="everything" # Set default version

export DOWNLOAD_DIR="/custom/path" # Set custom download directory

This script provides an intelligent, automated way to download Kali Linux from the fastest available mirror based on your location and system configuration.

🖌️ 相关文章

手机上怎么交车船税?网上缴纳车船税方法
365bet足球网投

手机上怎么交车船税?网上缴纳车船税方法

📅 08-09 👁️ 7441
亨通光电股价下跌之谜:公司究竟面临哪些问题?
Bet体育365提款要多久2022

亨通光电股价下跌之谜:公司究竟面临哪些问题?

📅 09-17 👁️ 4487
WPS表格排序与筛选功能的使用方法
365bet足球网投

WPS表格排序与筛选功能的使用方法

📅 08-31 👁️ 8303