Skip to content

ios dproxy is closing connections abruptly and not logging messages from xcode/mac apps #638

@anandqyrus

Description

@anandqyrus

Describe the bug
Great work on the project! I was trying out the ios dproxy command to see if I could get a hang of what xcode(version 26) does when we throttle the network condition on the real device. But I don't see any messages related to it and instead the connection with usbmuxd is jiust terminated after tgetting the device plist.

To Reproduce
Steps to reproduce the behavior:

  1. Make sure ios tunnel is started.
  2. run ios dporxy --trace --binary --verbose in one terminal
  3. simulate network throttling from xcode
  4. after some time stop it and stop the dproxy server as well on the terminal

Expected behavior
I would expect that the communication between the mac (fdrom XCode) with the device woul dbe logged here. I was able to see it in the packet capture to be sure it does happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Sequoia
  • Browser [e.g. chrome, safari]
  • Version 15.6.1

Smartphone (please complete the following information):

  • Device: iPhone 16
  • OS: iOS
  • Browser [e.g. stock browser, safari]
  • Version: 18.5

Additional context
Here are the logs for additional context-

ios dproxy --trace --binary --verbose 
{"level":"info","msg":"Set Trace mode","time":"2025-10-22T18:44:45+05:30"}
{"level":"debug","msg":"map[--address:\u003cnil\u003e --all:false --app:\u003cnil\u003e --apps:false --arg:[] --basedir:\u003cnil\u003e --binary:true --bundle-id:\u003cnil\u003e --bundleid:\u003cnil\u003e --certfile:\u003cnil\u003e --details:false --dstPath:\u003cnil\u003e --enable-post-restart:false --env:[] --filesharing:false --font:\u003cnil\u003e --force:false --gpxfilepath:\u003cnil\u003e --help:false --iface:\u003cnil\u003e --kill-existing:false --lang:false --lat:\u003cnil\u003e --list:false --locale:false --log-output:\u003cnil\u003e --lon:\u003cnil\u003e --mode:\u003cnil\u003e --nojson:false --orgname:\u003cnil\u003e --output:\u003cnil\u003e --p12file:\u003cnil\u003e --pair-record-path:\u003cnil\u003e --parse:false --password:\u003cnil\u003e --path:\u003cnil\u003e --pid:\u003cnil\u003e --plist:false --port:\u003cnil\u003e --pretty:false --process:\u003cnil\u003e --proxyurl:\u003cnil\u003e --r:false --rsd-port:\u003cnil\u003e --setlang:\u003cnil\u003e --setlocale:\u003cnil\u003e --skip:[] --skip-all:false --srcPath:\u003cnil\u003e --stop-at-entry:false --stream:false --system:false --test-runner-bundle-id:\u003cnil\u003e --test-to-run:[] --test-to-skip:[] --testrunnerbundleid:\u003cnil\u003e --trace:true --tunnel-info-port:\u003cnil\u003e --udid:\u003cnil\u003e --userspace:false --userspace-port:\u003cnil\u003e --verbose:true --version:false --wait:false --xctest:false --xctest-config:\u003cnil\u003e --xctestconfig:\u003cnil\u003e --xctestrun-file-path:\u003cnil\u003e 12h:false 24h:false \u003capp_path\u003e:\u003cnil\u003e \u003cbundleID\u003e:\u003cnil\u003e \u003ccwd\u003e:\u003cnil\u003e \u003chost\u003e:\u003cnil\u003e \u003chostPort\u003e:\u003cnil\u003e \u003ckey\u003e:[] \u003cpass\u003e:\u003cnil\u003e \u003cpattern\u003e:\u003cnil\u003e \u003cport\u003e:\u003cnil\u003e \u003cprofileFile\u003e:\u003cnil\u003e \u003cprofileId\u003e:\u003cnil\u003e \u003cprofileName\u003e:\u003cnil\u003e \u003cprofileTypeId\u003e:\u003cnil\u003e \u003csrcpattern\u003e:\u003cnil\u003e \u003ctarget\u003e:\u003cnil\u003e \u003ctargetPort\u003e:\u003cnil\u003e \u003cuser\u003e:\u003cnil\u003e activate:false add:false apps:false assistivetouch:false auto:false ax:false batterycheck:false batteryregistry:false cp:false crash:false create-cert:false date:false debug:false devicename:false devicestate:false devmode:false diagnostics:false disable:false diskspace:false display:false dproxy:true enable:false erase:false forward:false fsync:false get:false httpproxy:false image:false info:false install:false instruments:false ip:false kill:false lang:false launch:false list:false listen:false lockdown:false ls:false memlimitoff:false mkdir:false mobilegestalt:false mount:false notifications:false pair:false pcap:false prepare:false printskip:false profile:false ps:false pull:false push:false readpair:false reboot:false remove:false resetax:false resetlocation:false rm:false rsd:false runtest:false runwda:false runxctest:false screenshot:false setlocation:false setlocationgpx:false start:false stopagent:false syslog:false sysmontap:false timeformat:false toggle:false tree:false tunnel:false uninstall:false unmount:false version:false voiceover:false zoom:false]","time":"2025-10-22T18:44:45+05:30"}
{"level":"debug","msg":"Looking for device ''","time":"2025-10-22T18:44:45+05:30"}
{"level":"trace","msg":"Opening connection: 0x140008a4200","time":"2025-10-22T18:44:45+05:30"}
{"level":"trace","msg":"UsbMux send ios.ReadDevicesType  on  0x140008c8008","time":"2025-10-22T18:44:45+05:30"}
{"level":"trace","msg":"UsbMux Receive on 0x140008c8038","time":"2025-10-22T18:44:45+05:30"}
{"level":"trace","msg":"Closing connection: 0x140008b6040","time":"2025-10-22T18:44:45+05:30"}
{"level":"info","msg":"no udid specified using first device in list","time":"2025-10-22T18:44:45+05:30","udid":"00008140-000515583A.."}
{"level":"debug","msg":"execute handshake","time":"2025-10-22T18:44:46+05:30"}
{"level":"debug","msg":"Looking for device ''","time":"2025-10-22T18:44:46+05:30"}
{"level":"trace","msg":"Opening connection: 0x140008a5840","time":"2025-10-22T18:44:46+05:30"}
{"level":"trace","msg":"UsbMux send ios.ReadDevicesType  on  0x14000260ce0","time":"2025-10-22T18:44:46+05:30"}
{"level":"trace","msg":"UsbMux Receive on 0x14000260cf8","time":"2025-10-22T18:44:46+05:30"}
{"level":"trace","msg":"Closing connection: 0x140008b6920","time":"2025-10-22T18:44:46+05:30"}
{"level":"info","msg":"no udid specified using first device in list","time":"2025-10-22T18:44:46+05:30","udid":"00008140-000515583A.."}
TRAC[0000] Opening connection: 0x14000282000            
TRAC[0000] UsbMux send ios.ReadDevicesType  on  0x14000294008 
TRAC[0000] UsbMux Receive on 0x14000294020              
TRAC[0000] Closing connection: 0x14000280000            
INFO[0000] Lauching proxy in full binary mode           
INFO[0000] Moving socket /var/run/usbmuxd to /var/run/usbmuxd.6fed7755-c3f9-42cb-b0c6-cf47e8fd4ec2.real_socket 
INFO[0000] connected                                    
INFO[0000] starting tunnel                              
TRAC[0000] Opening connection: 0x140008a5d90            
TRAC[0000] 00000000  4e 03 00 00 01 00 00 00  08 00 00 00 01 00 00 00  |N...............|
00000010  3c 3f 78 6d 6c 20 76 65  72 73 69 6f 6e 3d 22 31  |<?xml version="1|
00000020  2e 30 22 20 65 6e 63 6f  64 69 6e 67 3d 22 55 54  |.0" encoding="UT|
00000030  46 2d 38 22 3f 3e 0a 3c  21 44 4f 43 54 59 50 45  |F-8"?>.<!DOCTYPE|
00000040  20 70 6c 69 73 74 20 50  55 42 4c 49 43 20 22 2d  | plist PUBLIC "-|
00000050  2f 2f 41 70 70 6c 65 2f  2f 44 54 44 20 50 4c 49  |//Apple//DTD PLI|
00000060  53 54 20 31 2e 30 2f 2f  45 4e 22 20 22 68 74 74  |ST 1.0//EN" "htt|
00000070  70 3a 2f 2f 77 77 77 2e  61 70 70 6c 65 2e 63 6f  |p://www.apple.co|
00000080  6d 2f 44 54 44 73 2f 50  72 6f 70 65 72 74 79 4c  |m/DTDs/PropertyL|
00000090  69 73 74 2d 31 2e 30 2e  64 74 64 22 3e 0a 3c 70  |ist-1.0.dtd">.<p|
000000a0  6c 69 73 74 20 76 65 72  73 69 6f 6e 3d 22 31 2e  |list version="1.|
000000b0  30 22 3e 0a 3c 64 69 63  74 3e 0a 09 3c 6b 65 79  |0">.<dict>..<key|
000000c0  3e 44 65 76 69 63 65 4c  69 73 74 3c 2f 6b 65 79  |>DeviceList</key|
000000d0  3e 0a 09 3c 61 72 72 61  79 3e 0a 09 09 3c 64 69  |>..<array>...<di|
000000e0  63 74 3e 0a 09 09 09 3c  6b 65 79 3e 44 65 76 69  |ct>....<key>Devi|
000000f0  63 65 49 44 3c 2f 6b 65  79 3e 0a 09 09 09 3c 69  |ceID</key>....<i|
00000100  6e 74 65 67 65 72 3e 31  38 3c 2f 69 6e 74 65 67  |nteger>18</integ|
00000110  65 72 3e 0a 09 09 09 3c  6b 65 79 3e 4d 65 73 73  |er>....<key>Mess|
00000120  61 67 65 54 79 70 65 3c  2f 6b 65 79 3e 0a 09 09  |ageType</key>...|
00000130  09 3c 73 74 72 69 6e 67  3e 41 74 74 61 63 68 65  |.<string>Attache|
00000140  64 3c 2f 73 74 72 69 6e  67 3e 0a 09 09 09 3c 6b  |d</string>....<k|
00000150  65 79 3e 50 72 6f 70 65  72 74 69 65 73 3c 2f 6b  |ey>Properties</k|
00000160  65 79 3e 0a 09 09 09 3c  64 69 63 74 3e 0a 09 09  |ey>....<dict>...|
00000170  09 09 3c 6b 65 79 3e 43  6f 6e 6e 65 63 74 69 6f  |..<key>Connectio|
00000180  6e 53 70 65 65 64 3c 2f  6b 65 79 3e 0a 09 09 09  |nSpeed</key>....|
00000190  09 3c 69 6e 74 65 67 65  72 3e 34 38 30 30 30 30  |.<integer>480000|
000001a0  30 30 30 3c 2f 69 6e 74  65 67 65 72 3e 0a 09 09  |000</integer>...|
000001b0  09 09 3c 6b 65 79 3e 43  6f 6e 6e 65 63 74 69 6f  |..<key>Connectio|
000001c0  6e 54 79 70 65 3c 2f 6b  65 79 3e 0a 09 09 09 09  |nType</key>.....|
000001d0  3c 73 74 72 69 6e 67 3e  55 53 42 3c 2f 73 74 72  |<string>USB</str|
000001e0  69 6e 67 3e 0a 09 09 09  09 3c 6b 65 79 3e 44 65  |ing>.....<key>De|
000001f0  76 69 63 65 49 44 3c 2f  6b 65 79 3e 0a 09 09 09  |viceID</key>....|
00000200  09 3c 69 6e 74 65 67 65  72 3e 31 38 3c 2f 69 6e  |.<integer>18</in|
00000210  74 65 67 65 72 3e 0a 09  09 09 09 3c 6b 65 79 3e  |teger>.....<key>|
00000220  4c 6f 63 61 74 69 6f 6e  49 44 3c 2f 6b 65 79 3e  |LocationID</key>|
00000230  0a 09 09 09 09 3c 69 6e  74 65 67 65 72 3e 31 37  |.....<integer>17|
00000240  38 32 35 37 39 32 3c 2f  69 6e 74 65 67 65 72 3e  |825792</integer>|
00000250  0a 09 09 09 09 3c 6b 65  79 3e 50 72 6f 64 75 63  |.....<key>Produc|
00000260  74 49 44 3c 2f 6b 65 79  3e 0a 09 09 09 09 3c 69  |tID</key>.....<i|
00000270  6e 74 65 67 65 72 3e 34  37 37 36 3c 2f 69 6e 74  |nteger>4776</int|
00000280  65 67 65 72 3e 0a 09 09  09 09 3c 6b 65 79 3e 53  |eger>.....<key>S|
00000290  65 72 69 61 6c 4e 75 6d  62 65 72 3c 2f 6b 65 79  |erialNumber</key|
000002a0  3e 0a 09 09 09 09 3c 73  74 72 69 6e 67 3e 30 30  |>.....<string>00|
000002b0  30 30 38 31 34 30 2d 30  30 30 35 31 35 35 38 33  |008140-000..|
000002c0  41 35 33 38 30 31 43 3c  2f 73 74 72 69 6e 67 3e  |A5..</string>|
000002d0  0a 09 09 09 09 3c 6b 65  79 3e 55 53 42 53 65 72  |.....<key>USBSer|
000002e0  69 61 6c 4e 75 6d 62 65  72 3c 2f 6b 65 79 3e 0a  |ialNumber</key>.|
000002f0  09 09 09 09 3c 73 74 72  69 6e 67 3e 30 30 30 30  |....<string>0000|
00000300  38 31 34 30 30 30 30 35  31 35 35 38 33 41 35 33  |8140000515583..|
00000310  38 30 31 43 3c 2f 73 74  72 69 6e 67 3e 0a 09 09  |..</string>...|
00000320  09 3c 2f 64 69 63 74 3e  0a 09 09 3c 2f 64 69 63  |.</dict>...</dic|
00000330  74 3e 0a 09 3c 2f 61 72  72 61 79 3e 0a 3c 2f 64  |t>..</array>.</d|
00000340  69 63 74 3e 0a 3c 2f 70  6c 69 73 74 3e 0a        |ict>.</plist>.|  direction=device2host id="#1"
ERRO[0000] Failed readmessage bin unix sock              error=EOF
TRAC[0000] Closing connection: 0x140008b7260            
TRAC[0000] Closing connection: 0x140008b71c0            
ERRO[0000] Failed binToDevice.ReadMessage b: 0           error="read unix ->/var/run/usbmuxd: use of closed network connection"
TRAC[0000] Connection closed                             id="#1"
INFO[0000] done                                         
TRAC[0000] Closing connection: 0x140008b7260            
TRAC[0000] Closing connection: 0x140008b71c0            
ERRO[0000] Failed reading bytes read unix ->/var/run/usbmuxd: use of closed network connection  id="#1"
INFO[0000] done                                         
INFO[0001] connected                                    
INFO[0001] starting tunnel                              
TRAC[0001] Opening connection: 0x14000316130            
TRAC[0001] 00000000  4e 03 00 00 01 00 00 00  08 00 00 00 01 00 00 00  |N...............|
00000010  3c 3f 78 6d 6c 20 76 65  72 73 69 6f 6e 3d 22 31  |<?xml version="1|

And the logs just continue with the same error-

ERRO[0000] Failed readmessage bin unix sock              error=EOF
TRAC[0000] Closing connection: 0x140008b7260            
TRAC[0000] Closing connection: 0x140008b71c0            
ERRO[0000] Failed binToDevice.ReadMessage b: 0           error="read unix ->/var/run/usbmuxd: use of closed network connection"

Can someone please help out? Is this a bug or am I missing out on some configuration/permissions? @danielpaulus - would be helpful if you could suggest some workarounds! Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions