windows 11 + kali wsl二合一配置步骤与踩坑

windows 11 + kali wsl二合一配置步骤与踩坑

在前几天的某市攻防演练中,在攻防前期,我的虚拟机经常无缘无故出现断网、卡顿等现象,但找不出原因。

为了不影响后续的这些天的攻防演练,我选择在一个晚上通宵 在我的windows 11系统上快速搭建了wsl的kali 无缝模式,配置好之后的第二天,即通宵之后立马就开始使用它来进行攻防作战了,体验和效果还是相当不错的。

wsl安装小问题

只要是在win系统上第一次安装wsl相信读者们应该都不会遇到什么问题,可能唯一会遇到的问题应该就是在微软商店中搜不到wsl

这里给出链接,下面的这个链接可直达微软商店wsl下载页面

https://apps.microsoft.com/detail/9p9tqf7mrm4r?hl=zh-cn&gl=CN

kali wsl

wsl安装好之后通过这个命令下载kali wsl

wsl --install --distribution kali-linux

它会弹出新的窗口,让你填写kali创建的账户名和密码

安装好之后,我们有几种命令可以直接启动和进入它:

# kali
# wsl --distribution kali-linux

win-kex安装配置

首先要做的就是通过apt下载win-kex

sudo apt install kali-win-kex

当然,在开始之前,你可能需要先配置apt国内镜像源,这取决于你的网络环境

kex无缝模式配置

无缝模式需要先安装VcXsrv

https://sourceforge.net/projects/vcxsrv/

还需要安装vcredist140 ,这里有个值得注意的点,必须安装以下该链接的Visual C++ Redistributable for Visual Studio 2015 ( vcredist140 )

https://www.microsoft.com/en-US/download/details.aspx?id=48145

如果你的机器上存在其它版本的vcredist14x,我的做法是在控制面版->卸载程序,直接卸载了其它版本,然后再安装vcredist140

然后就是配置VcXsrv

打开它

display number设为0
在这里插入图片描述

下一页默认

在这里插入图片描述

下一页把禁用访问控制勾选上

在这里插入图片描述

踩坑之路正式开始

当你兴致勃勃打开cmd输入以下命令,准备见证奇迹的时候

wsl -d kali-linux kex --sl --wtstart -s

结果等了半天,发现VcXsrv一点反应都没有,会话没有建立成功

当你百度、csdn找了半天,最终找的方法都是配置网卡地址

但很不幸的是,你通过这些教程的命令,发现找不到网卡或是其它相关问题

但你通过本机ipconfig发现,其实是有的

在这里插入图片描述

kali wsl

在这里插入图片描述

解决方案

事实上连接不上的原因其实很简单,根据上图的kali wsl中的网络配置,你会发现有一个10.255.255.254的ip,然后再看cmd连接kex无缝模式时的**“10.255.255.254 找不到xxxxxxx”**

说明再无缝模式连接时,它寻找的ip是10.255.255.254,而这玩意是kali wsl的本机ip

所以很简单,我们只需要把要连接的ip修改为我们windows本机的wsl hyper-v的虚拟网卡地址就可以了,我这里是172.24.192.1

在这里插入图片描述

修改的方法很简单,只需要修改kali wsl的/etc/resolv.conf

nameserver 172.24.192.1

这个时候你再尝试运行wsl -d kali-linux kex --sl --wtstart -s

你应该就会发现输出的信息当中,它连接的ip确实变成了172.24.192.1(具体情况取决于你实际的虚拟网卡地址)

请注意,如果你还是连接不上,那么你需要重启VcXsrv软件,再强调一遍,请重启VcXsrv软件,并再次尝试kex无缝模式连接

新的坑

那么这个时候相信都应该能连接上了,能够看到无缝模式下美丽的windows+kali结合体

在这里插入图片描述

新的问题又来了,其实也不算新问题,那就是/etc/resolv.conf的问题

总所周知这个文件是软连接到那个啥文件的,所以你每次重启,/etc/resolv.conf都会变回10.255.255.254,所以你每次刚开机想要连接,还得修改一下/etc/resolv.conf

那有没有什么好办法呢,还真没有,能试的我都试过了,相信不少读者也应该明白的,kali wsl网络配置方面跟实际的有点差异,缺少了某些配置文件,或者压根不生效等等之类的问题,导致nameserver一直被重置

解决方案

有一个简单粗暴且实用的方法可以一劳永逸。分为三步:

1.unlink /etc/resolv.conf
2.echo 'nameserver 172.24.192.1' > /etc/resolv.conf
3.chattr +i /etc/resolv.conf

直接取消/etc/resolv.conf的软连接,然后自己新建一个/etc/resolv.conf,将内容改为我们想要的,然后用chattr加锁。

这样一顿操作下来,/etc/resolv.conf永远都不会变

配置好之后,以后就可以很轻松愉快的一键连接kex无缝模式了

官方文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/868443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年电脑监控软件排行榜(真实测评推荐七款电脑监控软件)

在信息化快速发展的今天,企业对员工电脑活动的监控变得尤为重要。有效的电脑监控软件不仅可以提升员工的工作效率,还能防止信息泄露,保障企业的数据安全。本文将介绍几款知名的电脑监控软件,并对其特点进行详细分析,帮…

笔记本电脑投屏怎么操作?一看就会!

日常工作或办公都会用到笔记本电脑,但很多新手用户不知道笔记本电脑的投屏要怎么操作?接下来系统之家给大家介绍三种简单的操作方法,帮助大家轻松完成笔记本电脑投屏投屏操作,从而满足自己的办公或学习使用需求。 方法一 1. 直接W…

Django QuerySet对象,exclude()方法

模型参考上一章内容: Django QuerySet对象,filter()方法-CSDN博客 exclude()方法,用于排除符合条件的数据。 1,添加视图函数 Test/app11/views.py from django.shortcuts import render from .models import Postdef index(re…

Eclipse运行main函数报 launch error

右键run as java application,运行main函数的时候报launch error 解决方式:文件右键run configurations 旧的是Project JRE,改成下图这个样子

Windows7彻底卸载mysql

1.控制面板卸载mysql 2.删除C:\Program Files\MySQL 3.删除C:\用户\Administrator\App Data\Roaming\MySQL”(App Data默认隐藏,需要在文件夹和搜索选项中勾选显示文件夹),为了删除的更彻底,可以直接在计算机全盘搜索MySQL关键字,将所有找到…

软件测试下的AI之路(5)

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。 💎声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家…

Unity之Text组件换行\n没有实现+动态中英互换

前因:文本中的换行 \n没有换行而是打印出来了,解决方式 因为unity会默认把\n替换成\\n 面板中使用富文本这个选项啊 没有用 m_text.text = m_text.text.Replace("\\n", "\n"); ###动态中英文互译 using System.Collections; using System.Collections…

顺序表与链表

前言: 顺序表和链表是属于数据结构中比较基础的知识,我们需要对其进行掌握。在JAVA原生标准库中分别为ArrayList和LinkedList。下图是整个数据结构之间的结构框图 1.ArrayList 背后用来存储数据的是一个数组,所以用ArrayList来进行相关操作…

前端面试题23(css3)

关于CSS3的面试题,我们可以从多个维度来探讨,包括但不限于选择器、盒模型、布局技术、动画与过渡、响应式设计等。下面我会列举一些典型的CSS3面试问题,并尽可能提供详细的解答或示例代码。 1. CSS3中新增了哪些选择器? 答案: C…

JAVA之(static关键字、final关键字)

JAVA之(static关键字、final关键字) 一、 static关键字1、静态变量2、静态方法3、 静态代码块4、例子 二、final关键字1、final修饰类2、 final修饰方法3、修饰变量 一、 static关键字 1、静态变量 private static String str1“staticProperty”2、静…

SAP 无权限的解决

在进行SAP操作过程中,经常会出现无权限的情况,如客户说没有“ABAAL计划外折旧”权限 但是在查看SU01的时候,已经有角色分配了 解决:1、ABAA之后,SU53查看2、 2、PFCG查找到角色手动添加权限对象S_TCODDE,之后更新&…

YOLOv9报错:AttributeError: ‘list‘ object has no attribute ‘view‘

报错信息如下: red_distri, pred_scores torch.cat([xi.view(feats[0].shape[0], self.no, -1) for xi in feats], 2).split( AttributeError: ‘list’ object has no attribute ‘view’ 解决方法: 去yolov9/utils/loss_tal.py把167行代码更改&#…

Trinity:转录组从头组装

安装 #下载安装包 wget -c https://github.com/trinityrnaseq/trinityrnaseq/releases/download/Trinity-v2.15.1/trinityrnaseq-v2.15.1.FULL.tar.gztar -xzvf trinityrnaseq-v2.15.1.FULL.tar.gz cd trinityrnaseq-v2.15.1 make make plugins #安装依赖 mamba install -c bio…

C语言相关内容模块

C语言相关内容模块 1、函数指针定义方式 1、函数指针定义方式 函数指针的具体用法

antdPro的使用

antdPro封装了很多高级组件&#xff0c;很大程度的节约了开发时间 在这记录一下&#xff0c;初次使用&#xff0c;常用的一些属性 <ModalFormtitle"编辑使用记录"open{visible}onFinish{onSave}onOpenChange{onOpenChange}initialValues{updateRecord}width{40%}…

echarts横向立体3D柱状图

实现原理&#xff1a;series中包含两个普通的柱状图bar&#xff0c;其宽度各占一半且设置间距barGap为0&#xff0c;再添加一个象形柱状图pictorialBar&#xff0c;symbol设为菱形diamond&#xff0c;调整其位置大小层级等数据以达到覆盖在柱状图顶部的立体效果。 运行效果&am…

VSCode远程连接Linux服务器

VSCode远程连接Linux服务器 一、下载VSCode二、远程连接Linux服务器2.1 安装插件2.2 连接linux服务器 我用的Linux服务器(腾讯云服务器&#xff0c;如果是虚拟机需要手动去配置ssh)&#xff0c;操作系统是ubuntu 20.04&#xff08;系统如果不一样&#xff0c;可以重装系统&…

【C++】———— 继承

作者主页&#xff1a; 作者主页 本篇博客专栏&#xff1a;C 创作时间 &#xff1a;2024年7月5日 一、什么是继承&#xff1f; 继承的概念 定义&#xff1a; 继承机制就是面向对象设计中使代码可以复用的重要手段&#xff0c;它允许在程序员保持原有类特性的基础上进行扩展…

JavaSE第10篇:常用类

文章目录 一、Object1、Object使用2、toString3、equals和4、hashCode5、clone6、finalize7、getClass8、wait、notify和notifyAll 二、使用步骤 一、Object 1、Object使用 Object类是所有Java的根父类 如果在类的声明中未使用extends关键字指明其父类&#xff0c;则默认父类…

Hyper-V 性能监控工具

虚拟化是任何组织网络管理战略不可或缺的一部分&#xff0c;对于帮助提高网络效率和资源可用性至关重要。采用虚拟基础架构具有多种好处&#xff0c;例如最大限度地减少停机时间、降低运营成本和提高生产力。 在所有虚拟服务器中&#xff0c;Microsoft Hyper-V因其多功能性和可…