Bootstrap

windows11 wsl kali子系统 adb调试

环境准备

在Windows中

  1. 安装usbipd
    参考资料:https://learn.microsoft.com/zh-cn/windows/wsl/connect-usb
    方法一:
    在powershell中执行winget install --interactive --exact dorssel.usbipd-win
    方法二:去https://github.com/dorssel/usbipd-win/releases 下载安装包并安装
  2. 测试
    在powershel 中输入以下命令即可查看usb设备
PS C:\Users\zhangsan> usbipd list
Connected:
BUSID  VID:PID    DEVICE                                                        STATE
2-1    260d:1029  USB 输入设备                                                  Not shared
2-5    04ca:707f  HP Wide Vision HD Camera                                      Not shared
2-14   8087:0aaa  英特尔(R) 无线 Bluetooth(R)                                   Not shared
4-1    1058:264f  USB Attached SCSI (UAS) 大容量存储设备                        Not shared
5-1    0b95:1790  ASIX AX88179A USB 3.2 Gen1 to Gigabit Ethernet Adapter        Not shared
6-2    1a2c:92f7  USB 输入设备                                                  Not shared
6-3    22d9:2774  OPPO A59s, USB 大容量存储设备, MTP                            Shared (forced)
6-4    0d8c:0012  USB Audio Device, USB 输入设备

如果命令不成功重启电脑试试

在kali子系统中

运行以下命令

sudo apt install usbip hwdata adb

然后重启子系统,在Windows命令行中运行以下命令重启kali子系统

wsl -t kali-linux
kali-linux

使用kali子系统进行adb调试

1. 手机连接电脑

确保手机开启usb调试模式

2. windows检查设备是否连接成功

  1. 使用管理员模式打开powershell
    如果安装了Windows Terminal,可以在打开Windows Terminal之后,按住ctrl点击新建标签页的加号,快速打开管理员模式的Powershell或CMD
  2. 运行以下命令,如果出现自己的设备名称则说明连接成功,注意设备名称有可能不是手机名称,可以在任务栏中点击U盘图标(就是以前用来弹出U盘那个)查看名称
PS C:\Users\zhangsan> usbipd list
Connected:
BUSID  VID:PID    DEVICE                                                        STATE
2-1    260d:1029  USB 输入设备                                                  Not shared
2-5    04ca:707f  HP Wide Vision HD Camera                                      Not shared
2-14   8087:0aaa  英特尔(R) 无线 Bluetooth(R)                                   Not shared
4-1    1058:264f  USB Attached SCSI (UAS) 大容量存储设备                        Not shared
5-1    0b95:1790  ASIX AX88179A USB 3.2 Gen1 to Gigabit Ethernet Adapter        Not shared
6-2    1a2c:92f7  USB 输入设备                                                  Not shared
6-3    18d1:4ee7  SDM845-MTP _SN:3EE4384B                                       Not shared
6-4    0d8c:0012  USB Audio Device, USB 输入设备                                Not shared

记录以下我这里手机的BUSID 是6-3 下面要用到的

3. 共享usb设备

  1. 执行以下命令共享usb设备(即手机)
# 这里的6-3替换成自己的
usbipd bind --busid 6-3
  1. 查看是否共享成功
usbipd list 

如果看到结果中的STATE变成Shared说明usb接口正在共享

4. wsl(kali子系统)连接usb

  1. 执行以下命令让wsl连接usb接口
usbipd wsl attach --busid 6-3

如果报错

  • 检查kali子系统是否开启
  • 检查kali子系统是否为wsl默认发行版,可以直接运行wsl命令看是否进入kali子系统,若不是运行wsl --set-default kali-linux
  • 有可能有设备正在占用usb接口,在共享usb时使用--force选项进行强制共享,即usbipd bind --busid 6-3 --force
  • 也有可能是其他环境问题,参考具体报错信息
  1. windows中检查是否成功
    执行usbipd list 查看STATE是否变为Attached
    或者执行usbipd wsl list查看STATE是否变为Attached - kali-linux
  2. 在kali子系统中
    执行lsusb查看是否存在自己的设备(可能名称会不一样)

使用adb连接手机

  1. 首先停止adb
# 找到adb的进程id并杀死
ps -ef|grep adb
  1. 使用root权限启动adb server
sudo adb start-server
  1. 查看是否连接成功
# 执行命令后应该能在下方看到自己的设备
adb devices 

5. wsl(kali子系统)取消连接usb

当我们在wsl使用完usb接口后,需要解绑,不然下次usb还会连接到子系统中

usbipd unbind -b 6-3
;