目 录 译者序 前言 第1章 基础入门 1 1.1 术语和概念介绍 1 1.2 Kali系统概览 2 1.2.1 终端 3 1.2.2 Linux文件系统 4 1.3 Linux系统基本命令 5 1.3.1 利用pwd命令查看当前位置 5 1.3.2 利用whoami命令查看当前登录 用户 5 1.3.3 在Linux文件系统中进行定位 导览 6 1.3.4 获取帮助 7 1.3.5 利用man命令查阅参考手册页面 8 1.4 查找 9 1.4.1 利用locate命令进行搜索 9 1.4.2 利用whereis命令查找二进制 程序 9 1.4.3 利用which命令在PATH变量中 查找二进制程序 9 1.4.4 利用find命令执行更强大的 搜索 10 1.4.5 利用grep命令进行过滤 11 1.5 文件与目录修改 12 1.5.1 创建文件 12 1.5.2 创建目录 14 1.5.3 复制文件 14 1.5.4 重命名文件 14 1.5.5 删除文件 15 1.5.6 删除目录 15 1.6 总结 15 第2章 文本操作 17 2.1 查看文件 17 2.1.1 获取文件头部内容 18 2.1.2 抓取文件尾部信息 18 2.1.3 标注行号 19 2.2 利用grep命令进行文本过滤 20 2.3 利用sed命令进行查找和替换 21 2.4 利用more和less命令查看文件 22 2.4.1 利用more命令控制显示 22 2.4.2 利用less命令显示和过滤 23 2.5 总结 24 第3章 网络分析与管理 25 3.1 利用ifconfig命令分析网络 25 3.2 利用iwconfig命令检查无线网络 设备 26 3.3 更���网络信息 27 3.3.1 改变IP地址 27 3.3.2 改变网络掩码和广播地址 27 3.3.3 伪造MAC地址 28 3.3.4 从DHCP服务器分配新IP地址 28 3.4 操控域名系统 29 3.4.1 利用dig命令测试DNS 29 3.4.2 改变DNS服务器 30 3.4.3 映射自身IP地址 31 3.5 总结 32 第4章 软件添加与删除 34 4.1 利用apt处理软件 34 4.1.1 搜索软件包 34 4.1.2 添加软件 35 4.1.3 删除软件 35 4.1.4 更新软件包 37 4.1.5 升级软件包 37 4.2 向sources.list文件中添加软件仓库 38 4.3 使用基于GUI的安装器 39 4.4 利用git安装软件 41 4.5 总结 41 第5章 文件与目录权限控制 43 5.1 不同用户类型 43 5.2 赋予权限 43 5.2.1 赋予单独一个用户所有权 44 5.2.2 赋予一个群组所有权 44 5.3 查看权限 45 5.4 更改权限 46 5.4.1 利用八进制记数法更改权限 46 5.4.2 利用UGO方法更改权限 48 5.4.3 为一个新工具赋予根执行权限 48 5.5 利用掩码方法设置更为**的默认 权限 49 5.6 特殊权限 50 5.6.1 利用SUID赋予临时根权限 50 5.6.2 利用SGID赋予根用户群组权限 51 5.6.3 过时的黏滞位 51 5.6.4 特殊权限和权限提升 51 5.7 总结 53 第6章 进程管理 54 6.1 查看进程 54 6.1.1 通过进程名称进行过滤 55 6.1.2 利用top命令找到占用资源*多的 进程 56 6.2 管理进程 57 6.2.1 利用nice命令修改进程优先级 57 6.2.2 “杀死”进程 59 6.2.3 后台运行进程 60 6.2.4 将进程移至前台运行 60 6.3 调度进程 61 6.4 总结 62 第7章 用户环境变量管理 63 7.1 查看和修改环境变量 63 7.1.1 查看所有环境变量 64 7.1.2 查找特定变量 64 7.1.3 修改一个会话的变量值 65 7.1.4 **修改变量值 65 7.2 修改shell提示符 66 7.3 修改PATH变量 67 7.3.1 向PATH变量中添加路径 67 7.3.2 替换PATH变量的方式 68 7.4 创建一个用户定义的变量 69 7.5 总结 69 第8章 bash脚本编程 71 8.1 bash速成 71 8.2 **个脚本程序:"Hello, Hackers-Arise!" 72 8.2.1 设置执行权限 73 8.2.2 运行HelloHackersArise 73 8.2.3 利用变量和用户输入来添加功能 74 8.3 你的**个脚本:扫描开放端口 75 8.3.1 任务目标 76 8.3.2 一个简单的扫描器 76 8.3.3 改进MySQL扫描器 77 8.4 常见的内建bash命令 79 8.5 总结 80 第9章 压缩存档 81 9.1 什么是压缩 81 9.2 归档文件 82 9.3 压缩文件 83 9.3.1 利用gzip进行压缩 84 9.3.2 利用bzip2进行压缩 84 9.3.3 利用compress命令进行压缩 85 9.4 创建存储设备的逐位或物理副本 85 9.5 总结 86 第10章 文件系统与存储设备管理 88 10.1 设备目录/dev 88 10.1.1 Linux系统如何表示存储设备 89 10.1.2 驱动器分区 90 10.1.3 字符设备和块设备 91