Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >通过USB连接方式共享安卓的网络连接

通过USB连接方式共享安卓的网络连接

作者头像
云深无际
发布于 2020-08-12 07:01:16
发布于 2020-08-12 07:01:16
7.8K00
代码可运行
举报
文章被收录于专栏:云深之无迹云深之无迹
运行总次数:0
代码可运行

通过USB Tethering方式共享Android的Internet连接

现代的手机都支持Wi-Fi tethering,也就是通过Wi-Fi让手机的数据网络连接共享给电脑使用,也称为”无线热点”(HotSpot)。此外,你在使用iPhone的时候,会发现一个非常有用的功能,就是通过USB连线来共享数据网络的Internet连接,而且对于苹果手机和苹果电脑是即插即用的。

实际上,Android也支持通过USB连接共享网络,这种技术称为 USB Tethering ,设置方法: Settings => Network & internet => Hotspot & tethering => USB tethering

但是,很不幸,此时将Android手机通过USB数据线连接到Mac电脑上没有任何反应,完全不像iPhone开启”个人热点”的USB共享后连接到Mac电脑上即插即用。这是因为macOS没有内置 HoRNDIS(the USB tethering driver for Mac OS X) 。

HoRNDIS(用于Mac OS X的USB网络共享驱动程序)

HoRNDIS(发音为horrendous )是Mac OS X的驱动程序,它使您可以使用Android手机的本机USB捆绑模式来访问Internet。

安装

从源/二进制

  • 获取安装软件包(自己下载或构建安装软件包)
  • 运行安装包

从自制

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew cask install horndis
sudo kextload /Library/Extensions/HoRNDIS.kext

组态

  • 假设安装过程没有错误,请在安装完成后通过USB将手机连接到Mac。
  • 进入手机上的设置菜单。
  • 在“连接”部分的Wi-Fi和蓝牙下方:
    • 选择“更多...”
    • 选择“网络共享和便携式热点”
  • 选中“ USB绑定”框。它应该闪烁一次,然后进行稳定检查。

解除安装

  • 删除HoRNDIS.kext下面/System/Library/Extensions/Library/Extensions文件夹
  • 重启你的电脑

建立源

  • git clone 仓库
  • 只需在checkout目录中运行xcodebuild就足以构建kext。
  • 如果您希望将其打包,则可以运行make将其打包到build /目录中

调试和开发说明

本节包含有关开发和调试驱动程序的提示和技巧。

USB设备信息

Mac OS系统菜单 -> 关于本机 -> 系统报告 -> 硬件 / USB 列出OS可以识别的所有USB设备。不幸的是,它没有提供USB描述符。

lsusb -v 它打印USB配置,例如接口和端点描述符。您可以为所有设备打印它,或将输出限制为特定的设备。为了运行此命令,您需要安装usbutils

  • Homebrew用户:brew install mikhailai/misc/usbutils不要安装Homebrew Core的lsusb软件包,这是同名的另一个实用程序。
  • Macports用户: sudo port install usbutils

IO注册表

ioreg -l -r -c IOUSBHostDevice 该命令列出了所有USB设备下的所有Mac OS IO注册表信息。与lsusb不同,ioreg讲述了Mac OS如何识别USB设备和接口,以及如何将驱动程序与这些接口进行匹配。在-r -c IOUSBHostDevice限制输出到USB设备; 要获取完整的操作系统注册表,请运行ioreg -l

操作系统日志

LOG(....)遍布HoRNDIS代码的语句调用IOLog函数。在Mac OS El Capitan(10.11)和更早版本上,日志消息进入/var/log/system.log。从Sierra(10.12)开始,这些消息将不再被写入system.log,而可以通过以下方式查看:

  • GUI,使用控制台应用程序,位于Utilities文件夹中。您需要process:kernel在搜索框中输入以过滤相关消息。
  • 命令行,使用log命令。例如: log show --predicate process==\"kernel\" --start "2018-12-11 22:54:00" 起始值必须是过去的几分钟,因此它不会淹没控制台。这是一个方便的命令,可打印过去3分钟的消息: log show --predicate process==\"kernel\" --start "$(date -v-3M +'%F %T')"

我观察到Mac OS日志记录不可靠(尤其是在Sierra中)。在某些情况下,消息可能会出现乱码(看起来像不良的多线程代码)。在其他情况下,GUI或命令行可能丢失所发出的消息。有时,重新加载驱动程序可能会解决此问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/jwise/horndis

注解

HoRNDIS is a kernel extension (“kext”) that makes it possible to use your Android phone’s built-in USB tethering support on your Mac OS X system.

由于HoRNDIS是内核扩展,所以在Catalina (macOS 10.15)上无法直接安装,因为kext开发需要通过Apple认证。解决方法是使用 unable to install on macOS Catalina #102 中提供的下载包 HoRNDIS-9.2-catalina_install.pkg.zip 。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/jwise/HoRNDIS/files/3719733/HoRNDIS-9.2-catalina_install.pkg.zip

安装完 HoRNDIS 驱动以后,需要重启一次macOS,重启以后,将启用了 USB tethering 设置的Android手机通过USB数据线连接到Mac电脑上,此时在Mac的 Networks 设置中会看到一个 Etnernet Adaptor :

此时,如果你的Android能够通过Wi-Fi上网或者移动数据网络上网,则你的Mac电脑也能够通过USB数据线共享网络上网了。

注解

启用了 USB tethering 之后,虽然电脑能够通过共享Internet上网,但是,对于 手机的VPN连接是无法直接共享给电脑使用的。此时,你需要使用root过的Android手机,并结合 VPN Hotspot 才能完美使用VPN共享。

注解

Linux内核需要编译 USB Network Adapters 驱动支持,启用 Host for RNDIS and ActiveSync devices 才可以使用Android USB Tethering。请参考: Gentoo linux - Android USB Tethering

参考

  • How To Configure Android USB Tethering on Mac OS X
  • How to Tether Your Android Phone and Share Its Internet Connection with Other Devices
  • Gentoo linux - Android USB Tethering
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
iPad作为扩展屏的最简单方式
使用 iPad 作为扩展屏幕可以大大提升工作效率,特别是在需要更多屏幕空间进行多任务处理时。本文将介绍几种最简单的方法,帮助你轻松将 iPad 用作 Mac 或 Windows 电脑的扩展屏幕。
井九
2024/10/12
2.9K0
iPad作为扩展屏的最简单方式
Android ADB调试之无线连接设备
一、数据线连接手机和电脑(首次设置需数据线连接),开启开发者模式和USB调试,确保手机和电脑已连接
王大力测试进阶之路
2019/10/25
5.7K1
Android ADB调试之无线连接设备
ADB 调试手机的三种方式(USB、WLAN、WIFI)
Android 10以及更低的版本,必须通过 USB 连接后,才可实现同一 WLAN 下无线调试。
叨叨软件测试
2021/04/07
77.9K0
一次Wi-Fi入侵实录
作者 lanwellon 近期,Wi-Fi相关的安全话题充斥着电视新闻的大屏幕,先是曝出了路由器劫持的消息,而后又有报道提到黑客可以控制在同一个Wi-Fi下的其他电脑,所以公共Wi-Fi并不安全。紧接着是家用监控摄像头被劫持,用户的大量隐私被曝光。 这些报道的话题五花八门,而节目中给出的防范措施也较为杂乱,缺乏条理与说明。由于相关的信息量非常大,普通用户很难在短时间内弄清原委,对于其中提到的一些防范措施也难以甄别取舍。甚至因为报道的时间限制或操作说明的复杂度,电视新闻中并没有提到一些非常有效的防范措施,十分
FB客服
2018/02/02
5.9K0
一次Wi-Fi入侵实录
Clover引导简明教程
选择 Boot macOS with selected options 启动 出现错误画面拍照发群里寻求帮助。
慕白
2020/01/02
17K1
Clover引导简明教程
安卓usb调试模式还是无法连接_android usb
Android系统的手机以及平板电脑占有巨大的市场份额,当使用USB数据线完成电脑端与安卓手机端数据传输时,需要将安卓手机开启USB调试模式。
全栈程序员站长
2022/09/30
2.5K0
安卓usb调试模式还是无法连接_android usb
安卓 IOS 抓包工具介绍、下载及配置
在抓包的时候, 配置过程顺利的话, 还行, 但有时候, 搜索了几百遍了教程了, 步骤都对, 但就是抓不到包, 今天来介绍几款手机版的抓包app, 摆脱配置证书, 一键开始抓包
不止于python
2022/05/31
7.8K0
安卓 IOS 抓包工具介绍、下载及配置
Android KitKat 4.4 Wifi移植AP模式和网络共享的调试日志
Tethering技术在移动平台上已经运用的越来越广泛了。它能够把移动设备当做一个接入点,其它的设备能够通过Wi-Fi。USB或是Bluetooth等方式连接到此移动设备。在Android中能够将Wifi设为AP模式作为WLAN接入点。从而与其它设备共享Android的互联网连接。Android成为接入点后。就无法通过WLAN连接使用Android的应用程序訪问互联网,但能够通过其它方式如以太网或移动网络訪问互联网。
全栈程序员站长
2022/07/05
1.1K0
在linux下使用微信另一种选择:scrcpy
一款使用adb(安卓调试桥)控制和显示Android设备的神器,不需要root权限,不需要在手机上安装客户端。
devecor
2020/12/29
1.6K0
实战!使用手机进行wifi入侵
到一个地方总会问下这里的wifi密码多少,公共场所的wifi其实特别不安全,表面上风平浪静,其实你连接上wifi之后,你所输入的账户密码,个人信息等一些敏感信息都被某个暗中观察的设备一览无余。
释然IT杂谈
2022/10/27
5.1K1
实战!使用手机进行wifi入侵
React-Native For Android 环境搭建及踩坑
安装环境 本文默认以MacOS为系统,毕竟除了用React Native搞Android,你也会想用它搞iOS。 首先当然是Android的环境搭建,这里还是推荐把整个Android开发环境都弄起来,顺便还可以学学Android。关于Android环境搭建,以及使用Android Studio可以参考我的另一篇文章搭建安卓开发环境(Android Studio) 这里就不赘述了,需要注意的是,要安装好SDK,AVD(不是AV,是Android Virtual Device)。 弄好Android开发环境
Bob.Chen
2018/05/02
1.7K0
[物联网] 3.3 "上云"的各种姿势
与全球网络相连接 有两种让设备连接到网络的方式,一种是由设备本身直接连接全球网络,另一种是在本地区域内使用网关来连接全球网络(图 3.21)。近来,“生活记录”型的设备越来越多,其结构更接近前面说的第二种方式,例如通过蓝牙把可穿戴设备和智能手机配对,通过智能手机向服务器发送数据。
科控物联
2022/03/29
1K0
[物联网] 3.3 "上云"的各种姿势
11.1K Star开源软件在电脑上控制安卓手机,无需ROOT
开源日记
2023/08/10
1.7K0
11.1K Star开源软件在电脑上控制安卓手机,无需ROOT
MacDroid for mac(安卓设备文件传输助手)
MacDroid for Mac 是一款 Mac 和Android设备之间传输文件(或整个文件夹),音乐,照片和视频的首选解决方案。由于 Mac OS X 本身并不支持 MTP 协议,所以通过 USB 将 Android 设备连接到 Mac 电脑上是无法识别的,更别说读取里面的文件了。
Mac小小心
2023/03/26
1.6K0
MacDroid for mac(安卓设备文件传输助手)
解决Windows 11网络连接问题:教你轻松排查网络故障
在连接到网络时遇到问题?以下是一些故障排除步骤,可帮助您解决戴尔电脑上的无线网络连接问题。
猫头虎
2024/04/08
2810
解决Windows 11网络连接问题:教你轻松排查网络故障
ESP8266 SDK开发: 测试下诱人的程序
  这节代码有点BUG,温湿度采集有问题,抱歉哈,时间紧张,没有多少时间测试!后面再去优化哈!
杨奉武
2019/11/30
7240
ESP8266 LUA脚本语言开发: 测试下诱人的程序
  实现的功能,APP通过SmartConfig给Wi-Fi模块配网并绑定设备,然后通过MQTT远程控制开发板的继电器,
杨奉武
2019/11/29
9930
AirServer免费版手机投屏电脑软件安装教程
AirServer是一款便捷式投屏软件,它的主要功能在于实时地将移动设备上的图像画面内容投放到电脑设备上,让电脑成为iPad、iPhone等iOS系统设备的大屏显示器。
用户7442547
2022/06/08
4K0
MacDroid for mac(安卓设备文件传输助手)
MacDroid是一款适用于Mac系统的安卓设备文件传输助手。它可以帮助用户在Mac和安卓设备之间快速、轻松地传输文件,包括照片、音乐、视频、文档等。
对影三人
2023/03/15
2K0
MacDroid for mac(安卓设备文件传输助手)
浅谈 Mac 黑苹果 Hackintosh 安装使用
这次我们聊下 MacOS,因为最近给笔记本(intel/nvidia)和台式机(amd/ati)吃上了黑苹果,也就是用上了 Mac OS 苹果电脑系统。很久以前就想过搞个 mac 玩一下,那时候没那个精力去搞事(其实还是懒)简单弄了个虚拟机苹果玩了下,体验极差!后来一想干脆算了,可能最后苹果吃不成还把现有系统搭进去都有可能hhh?.. 所以后面一直没搞过,win10随着时间的迭代也逐渐完善起来之后就更没有上苹果的想法了嗯。
2Broear
2024/03/12
2480
浅谈 Mac 黑苹果 Hackintosh 安装使用
相关推荐
iPad作为扩展屏的最简单方式
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档