概述
有时候要抓取手机 APP 内的数据包,但是手机配置过于麻烦,所以选择使用安卓模拟器来进行调试。
开始
配置Adb环境
下载并解压ADB工具包到任意位置。
将ADB工具包的路径添加到系统环境变量 Path 中,方便在任意位置使用ADB命令。
启用蓝叠 ABD
打开蓝叠模拟器,进入设置。
在 设置——高级 中启用ADB开关,记下显示的地址(如127.0.0.1:5555)。

保存好后重启模拟器。
连接ADB到蓝叠
启动模拟器后,在命令提示符(cmd)中输入以下命令连接ADB:
adb connect localhost:[port]替换 [port] 为前面记下的端口号。
连接成功后,使用以下命令查看连接状态:
adb devices使用以下命令进入设备的ADB环境:
adb -s localhost:[port] shell配置网络代理
连接成功后,可以通过ADB命令配置网络代理。注意,错误配置可能导致无法联网。
修改为指定代理
使用以下命令配置代理
settings put global http_proxy [ip]:[port]特别注意
这里的ip既不是127.0.0.1也不是ifconfig查得的任何一个ip,但与10.0.2.15有关
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope: Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:253 errors:0 dropped:0 overruns:0 frame:0
TX packets:253 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14092 TX bytes:14092
dummy0 Link encap:Ethernet HWaddr d2:01:84:61:82:e9
inet6 addr: fe80::1869:4000:1e65:82e9/64 Scope: Link
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:5538
eth0 Link encap:Ethernet HWaddr 08:00:27:0e:38:b3 Driver virtio_net
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::1869:4000:1e65:4f4c/64 Scope: Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:343 errors:0 dropped:0 overruns:0 frame:0
TX packets:913 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42997 TX bytes:74632ip分析
1. lo(本地回环接口)
作用:本地回环接口,用于本机内部通信。
关键信息:
IPv4 地址:
127.0.0.1(标准回环地址)。IPv6 地址:
::1/128(IPv6 回环地址)。状态:
UP(已启用)、RUNNING(活动状态)。
用途:用于模拟器内部的进程间通信(如 App 访问本地服务)。
2. eth0(主网络接口)
作用:虚拟以太网接口,模拟器与主机通信的主要通道。
关键信息:
IPv4 地址:
10.0.2.15(子网掩码255.255.255.0)。IPv6 地址:
fe80::...(链路本地地址)。驱动:
virtio_net(虚拟化网络驱动)。状态:
UP、BROADCAST、RUNNING、MULTICAST。数据统计:接收(RX)和发送(TX)包数量正常,无丢包。
用途:
模拟器通过 NAT 模式连接到主机网络。
10.0.2.15是 Android 模拟器的经典私有 IP(类似 VirtualBox/QEMU 的默认 NAT 网络配置)。主机通过虚拟路由器(通常
10.0.2.2)与模拟器通信。
3. dummy0(虚拟以太网接口)
作用:用于测试或占位的虚拟接口。
关键信息:
IPv6 地址:
fe80::...(链路本地地址)。状态:
UP、BROADCAST、RUNNING、NOARP。数据统计:少量发送包(
TX packets:29)。
用途:可能是系统或应用创建的占位接口,无实际外部通信功能。
网络配置总结
NAT 模式:
模拟器通过
eth0使用 NAT 模式与主机通信。外部网络访问需通过端口转发(如
adb forward或模拟器设置)。主机可通过
10.0.2.2访问模拟器网关。
IPv6 支持:
所有接口均配置了 IPv6 链路本地地址,但未启用全局 IPv6。
虚拟化网络架构:
使用
virtio_net驱动,表明基于虚拟化技术(如 KVM/QEMU)的网络栈。
真正能访问主机的ip
在 蓝叠模拟器 中访问主机(Host)上的端口 8080,需使用主机的 NAT 网关 IP:10.0.2.2(模拟器内部默认路由到主机的地址)。
详细说明
为何是
10.0.2.2?蓝叠模拟器默认使用 NAT 模式 的网络架构,其虚拟子网为
10.0.2.0/24:模拟器自身 IP:
10.0.2.15(通过eth0)。主机(Host)的网关 IP:
10.0.2.2(模拟器访问主机的固定地址)。虚拟路由器:
10.0.2.1(模拟器的默认网关)。
访问方式
在模拟器内,通过
10.0.2.2:8080访问主机上的服务(如 HTTP 代理、本地开发服务器等)。例如:在浏览器输入
http://10.0.2.2:8080。
验证与注意事项
确保主机服务已监听端口
主机需运行服务并绑定
0.0.0.0:8080(允许外部访问),而非127.0.0.1:8080(仅限本机)。检查命令(Windows/Linux/macOS 通用):
netstat -an | grep 8080 # Linux/macOS netstat -ano | findstr 8080 # Windows
关闭主机防火墙或开放端口
若主机防火墙拦截连接,需放行
8080端口的入站流量。
特殊情况:桥接模式
若蓝叠配置为桥接网络(直接使用主机局域网 IP),则需用主机实际局域网 IP(如
192.168.x.x)。但默认情况下蓝叠为 NAT 模式,优先使用
10.0.2.2。
常见场景
代理工具(Charles/Fiddler):在模拟器中配置代理服务器地址为
10.0.2.2:8080。本地开发调试:运行在主机
8080端口的后端 API,模拟器通过10.0.2.2:8080调用。
如果仍无法访问,请检查主机服务日志或使用 telnet 10.0.2.2 8080(模拟器内执行)测试连通性。
恢复默认代理
如果需要恢复默认代理,使用以下命令
settings put global http_proxy :0确认代理IP地址
代理的IP地址应为本机IP。可以通过以下命令查看本机IP
ipconfig /all找到对应的IPv4地址,即为本机IP
测试网络连接
在模拟器内置浏览器中打开任意网页,确认网络连接是否正常。如有问题,可尝试切换不同的代理IP地址。
退出ADB
exit代理匹配规则
使用PROCESS-PATH-REGEX匹配路径C:\Program Files\BlueStacks_nxt_cn下的所有.exe
^C:\\Program Files\\BlueStacks_nxt_cn\\[^\\]+\.exe$包含子目录的.exe
^C:\\Program Files\\BlueStacks_nxt_cn\\.*\.exe$