Capture other devices
Use your Mac as the proxy for an iPhone, iPad, Android device, another Mac, simulators and emulators.
WireLens for Mac can capture more than the Mac it runs on. Any device on the same network can use it as its HTTP proxy, and simulators and emulators can too.
Let other devices connect#
- In Settings ▸ Capture, turn on Accept clients from the local network. WireLens restarts its listener so other devices can reach it.
- Note your Mac's address and port. Settings ▸ Remote Devices shows both with copy buttons, and Capture ▸ Copy LAN Proxy Endpoint copies something like
192.168.1.20:9090. - Decide who may connect. Settings ▸ Remote Devices can lock the proxy to devices you have allowed. When a device that is not on the list tries to use the proxy, WireLens asks whether to allow or deny it.
iPhone and iPad#
- On the iPhone, open Settings ▸ Wi-Fi, tap the ⓘ next to your network, then Configure Proxy ▸ Manual. Enter your Mac's address as the Server and
9090as the Port. - In Safari, open
http://wire.lens/, or scan the QR code in Settings ▸ Remote Devices, to download your Mac's root certificate. - Install the profile from Settings, then turn on full trust in Settings ▸ General ▸ About ▸ Certificate Trust Settings.
This path needs neither the WireLens app nor its VPN on the iPhone. Turn the Wi-Fi proxy back off when you finish, or the iPhone will lose its connection whenever WireLens is not running on the Mac.
Nearby Apple devices#
With WireLens on both devices, the Mac can find a nearby iPhone over the AirDrop radio (AWDL) and receive its capture without the two sharing a Wi-Fi network. Open Settings ▸ Remote Devices ▸ Nearby Apple Devices, scan, choose the iPhone, and approve the prompt that appears on it.
iOS Simulator#
The simulator shares your Mac's network, so system capture already covers its traffic. It keeps its own trust store, though. Tools ▸ iOS Simulators installs and verifies the WireLens root in each simulator, or from Terminal:
xcrun simctl keychain booted add-root-cert "/path/to/wirelens-root.pem"
Android#
-
Emulator. From inside the emulator your Mac is
10.0.2.2, neverlocalhost:bashadb shell settings put global http_proxy 10.0.2.2:9090 -
Physical device. In the Wi-Fi network's settings, set a manual proxy with your Mac's address and port.
-
Certificates. Android 7 and later ignore user-installed certificates for app traffic unless the app opts in. A debug build of your own app can, with a network security config in the debug source set:
xml<network-security-config> <debug-overrides> <trust-anchors> <certificates src="user" /> </trust-anchors> </debug-overrides> </network-security-config>Emulator images without Google Play can also take the root as a system certificate. Tools ▸ Client Setup has step-by-step recipes for the emulator, Google APIs and Google Play images, and devices over ADB.
Another Mac#
On the other Mac, open System Settings ▸ Network, choose the network service, then Details ▸ Proxies. Turn on Web proxy (HTTP) and Secure web proxy (HTTPS) with your capturing Mac's address and port. Then install and trust the capturing Mac's root: visit http://wire.lens/ through the proxy, or copy the exported PEM across.
Apple TV, Apple Watch and Vision Pro#
Tools ▸ Client Setup includes tvOS, watchOS and visionOS recipes.
When nothing arrives#
- Accept clients from the local network is off, or the device is on a different network or VLAN.
- The macOS firewall is blocking incoming connections to WireLens.
- The device is not on the allowed list and the prompt was denied.
- Only
CONNECTrows appear: the host is not on the SSL Proxying Include list, or the device does not trust your Mac's root. See SSL Proxying.
Something here is unclear, or wrong for your setup? Contact support or write to support@wirelens.app.