本站支持 ActivityPub: [email protected]

Linux通过USB抓取Android手机报文(使用gnirehtet将电脑网络分享给手机)

图片来源:https://www.pixiv.net/artworks/86467376

安装

安装adb

Arch Linux

sudo pacman -S android-tools

Ubuntu

sudo apt install adb

安装gnirehtet

Arch Linux可通过aur安装

paru -S gnirehtet

Ubuntu 需要手动下载,访问https://github.com/Genymobile/gnirehtet/releases下载最新版,有java版和rust版,个人建议下载rust版的,rust版的解压后仅包含两个文件“gnirehtet”和“gnirehtet.apk”。

进入解压目录,手动安装(不是必须的,可以跳过)

sudo mkdir /usr/share/gnirehtet/
sudo cp ./gnirehtet.apk /usr/share/gnirehtet
sudo cp gnirehtet /usr/local/bin/
# 2023-02-22更新:~/.pam_environment 文件已弃用,使用 /etc/environment 替代
# echo "GNIREHTET_APK=/usr/share/gnirehtet/gnirehtet.apk" >> ~/.pam_environment
sudo bash -c 'echo "GNIREHTET_APK=/usr/share/gnirehtet/gnirehtet.apk" >> /etc/environment'

手机进入开发者模式并打开USB调试

不同手机界面会有些区别,但都差不多,设置里找到系统版本号连点7下,会提示进入开发者模式,之后再找到“开发者选项”,打开USB调试即可(也有叫Android调试的)

连接电脑

插入数据线将手机连接到电脑,手机会有弹窗“允许USB调试吗?”,点击允许(有的手机不会弹窗,默认仅充电,可以在通知栏修改连接选项)

可通过命令查看是否已连接

adb devices
List of devices attached
75a0a88d        device
List of devices attached
75a0a88d        unauthorized

运行

注意:如果你的手机有其他VPN软件并且该VPN设置了“始终开启的VPN”选项,请先关闭,否则即使连接了“Gnirehtet”也可能中途断开无法上网

保持所有VPN的“始终开启的VPN”选项关闭

执行以下命令,会自动检测、安装“gnirehtet.apk”到手机、添加VPN(手机会弹出提示,需要确认)并转发手机网络数据

#Arch Linux 或者 Ubuntu已安装并已经注销重新登录 执行
gnirehtet run

#Ubuntu 已安装但未重新登录 执行
GNIREHTET_APK=/usr/share/gnirehtet/gnirehtet.apk  gnirehtet run

#Ubuntu 未安装 进入解压目录执行
./gnirehtet run
VPN设置请求弹窗
成功连接会不停输出网络数据转发日志

要停止的话,电脑上直接“Ctrl + C”就行

抓包

wireshark找不到网卡无法抓包解决方法:linux下wireshark无法抓包问题

wireshark抓电脑有线网卡的包即可。由于这种共享网络的方式没有使用额外网口,只能抓电脑出口网卡的报文,手机产生的报文会和电脑本身发送/接收的报文混在一起,算是个缺点

可选:添加gnirehtet快捷启动方式(Desktop entries)

在“~/.local/share/applications/”添加一个desktop文件,让桌面环境菜单能够找到并添加该程序(当然这个desktop文件可以放到任何目录,比如桌面,双击即可运行)

[Desktop Entry]
Name=Gnirehtet
Icon=utilities-terminal
Comment=Gnirehtet provides reverse tethering for Android
Exec=gnirehtet run
StartupNotify=true
Terminal=true
Type=Application
Categories=Utility;

更新数据库

update-desktop-database ~/.local/share/applications

参考:

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注