Kali Linux ——在无网络情况下安装无线网卡驱动
1、背景:
今日刚刚开始学习kali linux,众所周知,安装完成后,系统是没有无线网卡驱动的,这就对学生党造成相当的困扰:校园网要连接有线是需要认证客户端的,而认证客户端只有windows端,如此一来,无线网也连不上,有线网也连不上,这就......很尴尬。
因此我走访各大博客,虽然没能直接解决问题,但也给了我一定的启发,最终摸索出一条不难实现的道路。
在此我将分享自己解决问题的过程,希望能对有需要的读者有所帮助。
2、操作环境:
我的电脑是 联想ThinkPad E431
无线网卡是 Broadcom 802.11n
linux 版本是 Kali linux 2018.3a amd64
linux 内核版本是 4.15.0-kali2-amd64
有配置不同的同学也不要着急,本文提供的方法具备一般性,相信可以给你一定的启发。
3、原理:
废话说到这里,来谈一谈我的想法:
这个方法是根据 “有线网环境下安装无线驱动” 的情况改编的。我翻阅了大量博客后发现,安装无线网卡的过程大多分为两步:
1、安装核心头文件
2、安装无线网卡驱动
4、过程:
原文是通过 apt-get 直接安装的,而我们没有网络环境,但是转念一想,通过apt-get 安装,本质上也是从 软件源 的网站下载,既然如此,我们为什么不直接从源网站下载需要的文件呢?
于是我访问了中科大的 kali 镜像站:
http://mirrors.ustc.edu.cn/kali
发现是这样一个页面,其中的文件是可以直接下载的

但是我们同样面对两个问题:
1、该下载什么
2、要下载的文件在哪个目录下
下文将逐一解决这两个问题
5、下载什么文件
1、内核头文件
在终端执行命令: uname -r
得到内核版本为 : 4.15.0-kali2-amd64
记住这个版本号,这就是一会要下载的内核头文件版本
2、网卡驱动
在终端执行命令: lspci | grep -i net
得到两行信息,第一行是你的有线网,第二行就是我们要的无线网
同样记住这个无线网卡的型号
3、前置驱动dkms,kbuild和debhelper
这个则没有特别的要求,会在下一节讲解如何下载
6、在哪个目录下载文件:(为了方便大家阅读,需要下载的文件都将用绿底粗体标注出来)
关于这点我则是借鉴了 “从ISO镜像安装” 的思路,不过原文是ubuntu的系统,他们的ISO镜像里集成了大量的资源,但我们 kali 没有啊,只能去镜像站下了。尽管如此,原文中列出了linux镜像中存放文件的规律,而这一规律在镜像站也同样适用,因此我得以顺利从网站找到需要的文件。
如上文所见,要找的文件有三种:
1)内核头文件 (这里用 4.15.0-kali2-amd64 的内核版本来举例,在实际应用时,请替换成自己的版本号)
路径: /pool/main/l/linux/
需要的文件: linux-headers-4.15.0.kali2-amd64
可是啊,好事多磨,你多半会发现,镜像站里的内核版本是4.18.0 的,这和你的根本不一样啊,这怎么用呢。。。
这里我没有贸然去尝试使用不同内核版本的头文件,而是
选择升级kali的内核版本
当然这又是一个艰苦地翻博客的过程,其中辛酸就不足为外人道了,这里直接为大家献上解决方案:
在同一个目录下寻找以下文件并下载:
linux-kbuild-4.18_4.18.10-2kali1_amd64.deb
linux-compiler-gcc-7-x86 4.18.10-2kali amd64.deb
linux-headers-4.18.0-kali2-amd64_4.18.10-2kali_amd64.deb
linux-headers-4.18.0-kali2-common_4.18.10-2kali1_all.deb
linux-image-4.18.0-kali2-cloud-amd64_4.18.10-2kali1_amd64.deb
linux-image-4.18.0-kali2-rt-amd64_4.18.10-2kali1_amd64.deb
linux-image-4.18.0-kali2-amd64_4.18.10-2kali1_amd64.deb
这些文件基本包含了安装新内核及其头文件所需的所有文件,但根据具体情况,可能仍有缺漏,因此在读者安装时,仍可能会缺失一些依赖, 若发生这种情况,推荐读者仍在该目录下进行寻找,或联系博主以获取帮助。
2)网卡驱动
路径: /pool/non-free/b/broadcom-sta
文件: broadcom-sta-dkms_驱动版本号.deb
注意:此文件的位置取决于读者自己的网卡型号,抱歉不能为其他网卡型号的朋友提供帮助,大家可以尝试参考其他博客或从网卡的官网寻找相应的linux驱动
3)一些依赖文件
路径: /pool/main/d/dkms
文件:dkms_2.6.1-1_all.deb
路径:/pool/main/d/debhelper
文件:debhelper_11.4.1_all.deb
7、安装
安装属于常规操作,不想看的大牛们可以跳过这一节
1) 用U盘将上一节中下载的文件拷贝到文件管理器的一个目录下,推荐选择 “下载” 这个目录
2) 在这一目录下右击鼠标,选择 “在终端打开”
3) 输入命令 dpkg -i 文件名
(提示:可以只输入一部分文件名,然后按Tab键来补全,再按一次以选择下一个有同样前缀的文件)
4)重新启动,如果一切顺利,你的无线驱动已经安装完成了!
8、可能出现的问题
1)安装过程中出现依赖缺失
请移步 https://www.debian.org/distrib/packages#search_packages
在选择“搜索软件包目录”后,输入缺失包的名称,进入搜索

然后进入该软件包的下载页面,即可在高亮位置找到它所在的目录

2)重新启动后没有使用新的内核版本
若重新启动后使用 uname -r 发现内核版本并没有变化
则应该在grub界面选择 "Advanced options for Kali GNU/Linux"
然后选择新安装的内核版本即可

9、结语
本片教程就到这里了,博主也是刚开始学习kali,操作中可能有些疏漏和不妥当的地方,恳请各位看到的大牛们不吝指正,我一定会及时修改错误!
Kali Linux ——在无网络情况下安装无线网卡驱动的更多相关文章
- linux无网络情况下安装rpm包
首先理清楚两个东西:rpm和yum.rpm全称redhat package manager,用来管理软件包:yum全称yellow dog updater,modified,它是rpm的前端程序,因为 ...
- 【Docker】CentOS7 上无网络情况下安装
自建虚拟机,但是连接不上网络,只能通过下载rpm包进行安装docker 环境:CentOS 7.3.1611 x64 rpm镜像下载地址用的阿里的https://mirrors.aliyun.com/ ...
- [硬件配置]记录Ubuntu 14.04 下安装无线网卡驱动解决无法连接WiFi的过程
新电脑安装了Ubuntu 14.04,但是网络连接中只有以太网而没有WiFi的选项. 打开System Setting系统设置-Software&Updates软件&更新-Additi ...
- CentOS下安装无线网卡驱动 (转)
1. 确定自己的网卡和内核版本:lspci | grep Network #根据输出的信息确定网卡的型号.uname -a #确定内核版本 2. 配置yum使用RPMForg ...
- centos 7 无网络情况下,解决yum 安装依赖rpm包
方法一:在一台有网络的机器,用yum下载好所需程序,传到另外一台网络的机器上安装 yum install xtrabackup --downloadonly --downloaddir=/rpmpat ...
- CentsOS7无网情况下安装mysql5.7
1.需求就不用讲了,客户现场,政府环境,银行环境,大多是没网的,所以无网安装是很有必要的 mysql下载路径:https://dev.mysql.com/downloads/mysql/ 查看自己Li ...
- centos7服务器无GUI情况下安装使用Xvfb、selenium、chrome和selenium-server
最近需要用到selenium浏览器抓取,在windows下对照chrome浏览器开发的代码,在linux服务器上换成phantomjs驱动后,却不能运行了,通过截图发现phantomjs渲染效果和ch ...
- 无网络环境下安装Dynamics CRM
在安装CRM时会需要很多的组件支持,没有这些组件是没法安装的,一般我们都是选择机器联网后在线安装,但也有特殊情况确实不能联网的,可参考这篇文章 https://blogs.msdn.microsoft ...
- ubuntu18.04下安装无线网卡驱动心得
联想Lenovo的笔记本,装完系统wifi显示找不到适配器. lspci | grep Wireless 显示无线网卡类型为博通的BCM43162. 网上一查,果然有问题. apt install f ...
随机推荐
- react-navigation使用之嵌套和跳转
1. 新版react-native已经将react-navigation作为官方版本发布,基础Demo可以从官方网站获得,比较困扰的问题是组件的嵌套和第二.第三页面的跳转. 2. 组件嵌套问题: 要在 ...
- vue组件之间的通信
1.父组件给子组件传递数据 <body> <div id="app"> 父组件:{{total}} <br> <son-component ...
- Git——开启区分大小写
前言 默认情况下git是忽略区分大小写的,多人合作的情况下不规范很容易造成问题,所以开启区分大小写. 步骤 开启 全局开启 git config --global core.ignorecase fa ...
- 快速理解js中的call,apply的作用
今天被人问到js中的call,apply的区别和用途,解释了一番后,想到之前在逼乎上看到一位小伙伴生动形象的解释 本身不难理解,看下MDN就知道了,但是不常用,遇到了,还要脑回路回转下.或者时间长了, ...
- RTC及sensor时间同步
https://blog.csdn.net/dai_jing/article/details/38147419 ----------------------------- linux 的系统时间有时跟 ...
- 【关于Java移位操作符&按位操作符】
一.java按位运算符(操作符) 这段时间偶尔看一下源码,会发现有很多很基础的java知识在脑海中已经慢慢的淡成不常用记忆,于是打算捡起来一些. 按位运算符是来操作整数基本数据类型中的单个“比特”(b ...
- Tomcat系列(7)——Tomcat类加载机制
1. 核心部分 1. 类加载器: 通过一个类的全限定名来获取描述此类的二进制字节流. 对于任意一个类,都需要由加载他的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一 ...
- jvm 字节码执行 (一)方法调用
“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器.硬件.指令集和操作系统层面上,而虚拟机的执行引擎是 由自己实现的,因此可以自行制定指令集 ...
- XSS绕过小结
0x00前言 我们友情进行XSS检查,偶然跳出个小弹窗,其中我们总结了一些平时可能用到的XSS插入方式,方便我们以后进行快速检查,也提供了一定的思路,其中XSS有反射.存储.DOM这三类,至于具体每个 ...
- D. Vanya and Treasure Codeforces Round #355 (Div. 2)
http://codeforces.com/contest/677/problem/D 建颗新树,节点元素包含r.c.dis,第i层包含拥有编号为i的钥匙的所有节点.用i-1层更新i层,逐层更新到底层 ...