Zoxc / crusader

A network throughput and latency tester.
Apache License 2.0
107 stars 8 forks source link

"Locate local peer" may not work if Little Snitch is installed #65

Closed richb-hanover closed 3 weeks ago

richb-hanover commented 3 weeks ago

Using Crusader-gui 0.2 on macOS 12.7.5 Testing against crusader server version 0.2 running in Raspberry Pi 5 on Ubuntu 24.04

What other diagnostic info could I provide? Thanks

Zoxc commented 3 weeks ago

You could try the macos-discover branch and provide the output of crusader test.

You could also try the reverse and see if the Pi can discover a macOS server.

richb-hanover commented 3 weeks ago

I did the second first:

richb-hanover commented 3 weeks ago

PS I forgot to mention that I had to open the macOS firewall to test from the RPi client to the Mac server...

I also forgot to mention that the crusader client on the RPi also found the server on my router. (In fact, I had to stop the router's server in order for the RPi to find my macOS machine.)

richb-hanover commented 3 weeks ago

Here's the output of crusader test on macOS (using the macos-discover branch, and the firewall turned off)

What other info could I provide?

√ release % ./crusader test
[2024-09-02 18:14:17] Client version 0.2.1-dev (commit cefbad431398767f6b743331beea94338221b7d3) running
discover-interface lo0
discover-interface lo0
discover-interface lo0
discover-interface lo0
discover-interface gif0
discover-interface stf0
discover-interface en5
discover-interface en5
discover-adding-interface en5 scope 4
discover-interface ap1
discover-interface en0
discover-interface en0
discover-adding-interface en0 scope 6
discover-interface en0
discover-interface en0
discover-interface awdl0
discover-interface awdl0
discover-adding-interface awdl0 scope 7
discover-interface llw0
discover-interface llw0
discover-adding-interface llw0 scope 8
discover-interface en1
discover-interface en2
discover-interface en3
discover-interface en4
discover-interface bridge0
discover-interface utun0
discover-interface utun0
discover-adding-interface utun0 scope 14
discover-interface utun1
discover-interface utun1
discover-adding-interface utun1 scope 15
discover-interface utun2
discover-interface utun2
discover-adding-interface utun2 scope 16
discover-interface utun3
discover-interface utun3
discover-adding-interface utun3 scope 17
discover-interface utun4
discover-interface utun4
discover-adding-interface utun4 scope 18
discover-interface utun5
discover-interface utun5
discover-interface vmenet0
discover-interface bridge100
discover-interface bridge100
discover-interface bridge100
discover-adding-interface bridge100 scope 20
discover-interface bridge100
discover-interface vmenet1
discover-interface bridge101
discover-interface bridge101
discover-interface bridge101
discover-adding-interface bridge101 scope 22
discover-interface bridge101
discover-sent 0 = Ok(21)
discover-sent 4 = Ok(21)
discover-sent 6 = Ok(21)
discover-sent 7 = Ok(21)
discover-sent 8 = Ok(21)
discover-sent 14 = Ok(21)
discover-sent 15 = Ok(21)
discover-sent 16 = Ok(21)
discover-sent 17 = Ok(21)
discover-sent 18 = Ok(21)
discover-sent 20 = Ok(21)
discover-sent 22 = Ok(21)
[2024-09-02 18:14:18] Client failed
Error: Failed to locate local server
?1 release %
Zoxc commented 3 weeks ago

Are all the interfaces in the discover-adding-interface lines active?

I assume en0 or en5 would lead to the Pi and there doesn't seem to be an error when sending the packets :/

richb-hanover commented 3 weeks ago

en0 is the primary Wi-Fi interface on my Mac, and the only one that "connects out to something" (see ifconfig at very bottom). I notice that my Mac always connects using its IPv6 address fd7e:5a1e:b4b3:0:462:4d7f:4274:9df0 when connecting to the RPi server no matter which of the server's two IPv6 addresses I enter into the GUI client.

deploy@RPi5:~/Documents/src/crusader-prebuilt$ [2024-09-02 19:46:45] Server version 0.2 running...
[2024-09-02 19:46:45] Listening on `eth0` - 192.168.253.158
[2024-09-02 19:46:45] Listening on `eth0` - fd7e:5a1e:b4b3::615
[2024-09-02 19:46:45] Listening on `eth0` - fd7e:5a1e:b4b3:0:2ecf:67ff:fe0f:dc5
[2024-09-02 19:47:20] Serving [fd7e:5a1e:b4b3:0:462:4d7f:4274:9df0]:53300, version 3
[2024-09-02 19:47:20] Starting UDP server ([fd7e:5a1e:b4b3::615]:35481)
[2024-09-02 19:48:00] Serving complete for [fd7e:5a1e:b4b3:0:462:4d7f:4274:9df0]:53300
[2024-09-02 19:48:13] Serving [fd7e:5a1e:b4b3:0:462:4d7f:4274:9df0]:53349, version 3
[2024-09-02 19:48:13] Starting UDP server ([fd7e:5a1e:b4b3:0:2ecf:67ff:fe0f:dc5]:35481)
[2024-09-02 19:48:54] Serving complete for [fd7e:5a1e:b4b3:0:462:4d7f:4274:9df0]:53349
...

I also see that crusader seems to be (might be? I'm making this up...) adding the scope 6 address to the discovery address

...
discover-interface en0
discover-interface en0
discover-adding-interface en0 scope 6
discover-interface en0
discover-interface en0
...

Could this be throwing off the transmission of the discovery packets? (But why wouldn't the IPv4 packet succeed?) Would it be worth printing the actual address of the IPv4/IPv6 address used to send the discovery packet?

Thanks as always

√ release % ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
    inet 127.0.0.1 netmask 0xff000000
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether ac:de:48:00:11:22
    inet6 fe80::aede:48ff:fe00:1122%en5 prefixlen 64 scopeid 0x4
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect (100baseTX <full-duplex>)
    status: active
ap1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether fa:ff:c2:44:19:74
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: inactive
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
    ether f8:ff:c2:44:19:74
    inet6 fe80::460:cb28:47a:7449%en0 prefixlen 64 secured scopeid 0x6
    inet6 fd7e:5a1e:b4b3:0:462:4d7f:4274:9df0 prefixlen 64 autoconf secured
    inet 192.168.253.124 netmask 0xffffff00 broadcast 192.168.253.255
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether 3e:1a:54:25:25:f9
    inet6 fe80::3c1a:54ff:fe25:25f9%awdl0 prefixlen 64 scopeid 0x7
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active
llw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether 3e:1a:54:25:25:f9
    inet6 fe80::3c1a:54ff:fe25:25f9%llw0 prefixlen 64 scopeid 0x8
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=460<TSO4,TSO6,CHANNEL_IO>
    ether 82:cc:0f:c0:d8:01
    media: autoselect <full-duplex>
    status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=460<TSO4,TSO6,CHANNEL_IO>
    ether 82:cc:0f:c0:d8:00
    media: autoselect <full-duplex>
    status: inactive
en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=460<TSO4,TSO6,CHANNEL_IO>
    ether 82:cc:0f:c0:d8:05
    media: autoselect <full-duplex>
    status: inactive
en4: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=460<TSO4,TSO6,CHANNEL_IO>
    ether 82:cc:0f:c0:d8:04
    media: autoselect <full-duplex>
    status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=63<RXCSUM,TXCSUM,TSO4,TSO6>
    ether 82:cc:0f:c0:d8:01
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x0
    member: en1 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 9 priority 0 path cost 0
    member: en2 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 10 priority 0 path cost 0
    member: en3 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 11 priority 0 path cost 0
    member: en4 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 12 priority 0 path cost 0
    nd6 options=201<PERFORMNUD,DAD>
    media: <unknown type>
    status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
    inet6 fe80::a0c2:c9d0:f433:330f%utun0 prefixlen 64 scopeid 0xe
    nd6 options=201<PERFORMNUD,DAD>
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
    inet6 fe80::148c:6a9a:8170:86b6%utun1 prefixlen 64 scopeid 0xf
    nd6 options=201<PERFORMNUD,DAD>
utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1000
    inet6 fe80::ce81:b1c:bd2c:69e%utun2 prefixlen 64 scopeid 0x10
    nd6 options=201<PERFORMNUD,DAD>
utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
    inet6 fe80::ceb1:8c44:65a5:a272%utun3 prefixlen 64 scopeid 0x11
    nd6 options=201<PERFORMNUD,DAD>
utun4: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
    inet6 fe80::ddd0:194c:bd7e:963c%utun4 prefixlen 64 scopeid 0x12
    nd6 options=201<PERFORMNUD,DAD>
utun5: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1420
    options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
    inet 10.0.10.4 --> 10.0.10.4 netmask 0xffffffff
vmenet0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    ether e6:45:c2:f4:3a:10
    media: autoselect
    status: active
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=3<RXCSUM,TXCSUM>
    ether fa:ff:c2:44:e5:64
    inet 10.211.55.2 netmask 0xffffff00 broadcast 10.211.55.255
    inet6 fe80::f8ff:c2ff:fe44:e564%bridge100 prefixlen 64 scopeid 0x14
    inet6 fdb2:2c26:f4e4::1 prefixlen 64
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x0
    member: vmenet0 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 19 priority 0 path cost 0
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active
vmenet1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    ether ea:69:05:6b:5b:97
    media: autoselect
    status: active
bridge101: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=3<RXCSUM,TXCSUM>
    ether fa:ff:c2:44:e5:65
    inet 10.37.129.2 netmask 0xffffff00 broadcast 10.37.129.255
    inet6 fe80::f8ff:c2ff:fe44:e565%bridge101 prefixlen 64 scopeid 0x16
    inet6 fdb2:2c26:f4e4:1::1 prefixlen 64
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x0
    member: vmenet1 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 21 priority 0 path cost 0
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active
Zoxc commented 3 weeks ago

Could you test on other macOS versions?

richb-hanover commented 3 weeks ago

Could you test on other macOS versions?

My Mac mini (M2 processor) is running Sonoma 14.5. It worked fine discovering a server on the local subnet. Its en0 interface is an Ethernet (no Wi-Fi). (test run and ifconfig below)

The Mac that fails to discover is running Monterey 12.7.6.

richb@Mac-mini2 release % ./crusader test
[2024-09-02 20:46:07] Client version 0.2.1-dev (commit cefbad431398767f6b743331beea94338221b7d3) running
discover-interface lo0
discover-interface lo0
discover-interface lo0
discover-interface lo0
discover-interface gif0
discover-interface stf0
discover-interface anpi1
discover-interface anpi0
discover-interface en0
discover-interface en0
discover-adding-interface en0 scope 6
discover-interface en0
discover-interface en0
discover-interface en4
discover-interface en5
discover-interface en2
discover-interface en3
discover-interface ap1
discover-interface en1
discover-interface awdl0
discover-interface awdl0
discover-adding-interface awdl0 scope 13
discover-interface llw0
discover-interface llw0
discover-adding-interface llw0 scope 14
discover-interface utun0
discover-interface utun0
discover-adding-interface utun0 scope 15
discover-interface utun1
discover-interface utun1
discover-adding-interface utun1 scope 16
discover-interface utun2
discover-interface utun2
discover-adding-interface utun2 scope 17
discover-interface utun3
discover-interface utun3
discover-adding-interface utun3 scope 18
discover-interface bridge0
discover-sent 0 = Err(Os { code: 65, kind: HostUnreachable, message: "No route to host" })
discover-sent 6 = Ok(21)
discover-sent 13 = Err(Os { code: 50, kind: NetworkDown, message: "Network is down" })
discover-sent 14 = Ok(21)
discover-sent 15 = Ok(21)
discover-sent 16 = Ok(21)
discover-sent 17 = Ok(21)
discover-sent 18 = Ok(21)
[2024-09-02 20:46:07] Found server at `RPi5` [fe80::2ecf:67ff:fe0f:dc5%6]:35481 running version 0.2
[2024-09-02 20:46:07] Connected to server [fe80::2ecf:67ff:fe0f:dc5%6]:35481
[2024-09-02 20:46:08] Idle latency to server 0.31 ms
[2024-09-02 20:46:11] Testing download...
[2024-09-02 20:46:23] Testing upload...
[2024-09-02 20:46:35] Testing both download and upload...
[2024-09-02 20:46:47] Writing data...
[2024-09-02 20:46:47] Saved raw data as crusader-results/data 2024-09-02 20.46.47.crr
[2024-09-02 20:46:47] Saved plot as crusader-results/plot 2024-09-02 20.46.47.png

richb@Mac-mini2 release % ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
    inet 127.0.0.1 netmask 0xff000000
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
anpi1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether fa:9b:ec:9a:2f:b2
    media: none
    status: inactive
anpi0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether fa:9b:ec:9a:2f:b1
    media: none
    status: inactive
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=50b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV,CHANNEL_IO>
    ether 5c:1b:f4:7e:47:6d
    inet6 fe80::18ec:e0fc:a319:2112%en0 prefixlen 64 secured scopeid 0x6
    inet6 fd7e:5a1e:b4b3:0:ce0:c407:88c:f86d prefixlen 64 autoconf secured
    inet 192.168.253.6 netmask 0xffffff00 broadcast 192.168.253.255
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect (1000baseT <full-duplex>)
    status: active
en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether fa:9b:ec:9a:2f:91
    nd6 options=201<PERFORMNUD,DAD>
    media: none
    status: inactive
en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether fa:9b:ec:9a:2f:92
    nd6 options=201<PERFORMNUD,DAD>
    media: none
    status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=460<TSO4,TSO6,CHANNEL_IO>
    ether 36:70:53:03:19:c0
    media: autoselect <full-duplex>
    status: inactive
en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=460<TSO4,TSO6,CHANNEL_IO>
    ether 36:70:53:03:19:c4
    media: autoselect <full-duplex>
    status: inactive
ap1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether 7e:1b:f4:7d:fa:7a
    media: autoselect
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether 5c:1b:f4:7d:fa:7a
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: inactive
awdl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
    options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
    ether 4e:85:19:d5:21:b1
    inet6 fe80::4c85:19ff:fed5:21b1%awdl0 prefixlen 64 scopeid 0xd
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect (<unknown type>)
    status: inactive
llw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether 4e:85:19:d5:21:b1
    inet6 fe80::4c85:19ff:fed5:21b1%llw0 prefixlen 64 scopeid 0xe
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
    inet6 fe80::2543:9757:a2ec:be37%utun0 prefixlen 64 scopeid 0xf
    nd6 options=201<PERFORMNUD,DAD>
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
    inet6 fe80::df8:8452:663c:2f03%utun1 prefixlen 64 scopeid 0x10
    nd6 options=201<PERFORMNUD,DAD>
utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
    inet6 fe80::2609:afc7:8418:30c%utun2 prefixlen 64 scopeid 0x11
    nd6 options=201<PERFORMNUD,DAD>
utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1000
    inet6 fe80::ce81:b1c:bd2c:69e%utun3 prefixlen 64 scopeid 0x12
    nd6 options=201<PERFORMNUD,DAD>
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=63<RXCSUM,TXCSUM,TSO4,TSO6>
    ether 36:70:53:03:19:c0
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x0
    member: en2 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 9 priority 0 path cost 0
    member: en3 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 10 priority 0 path cost 0
    nd6 options=201<PERFORMNUD,DAD>
    media: <unknown type>
    status: inactive
richb@Mac-mini2 release %
Zoxc commented 3 weeks ago

Could Little Snitch be a factor here?

I tested that it works on macOS 11. It's also possible macOS 12 is just broken.

richb-hanover commented 3 weeks ago

More info: I wrote some Rust code (!). I print the address for each interface found. (Modified code at: https://github.com/richb-hanover/crusader/tree/macos-discover) Does this show anything?

Macbook - 12.7.5 - Doesn't work

√ release % ./crusader test
[2024-09-03 08:29:43] Client version 0.2.1-dev (commit cefbad431398767f6b743331beea94338221b7d3) running
discover-interface lo0 address
discover-interface lo0 address
discover-interface lo0 address [::1]:0
discover-interface lo0 address [fe80::1%1]:0
discover-interface gif0 address [fe80::1%1]:0
discover-interface stf0 address [fe80::1%1]:0
discover-interface en5 address [fe80::1%1]:0
discover-interface en5 address [fe80::aede:48ff:fe00:1122%4]:0
discover-adding-interface *** en5 scope 4 address [fe80::aede:48ff:fe00:1122%4]:0
discover-interface ap1 address [fe80::aede:48ff:fe00:1122%4]:0
discover-interface en0 address [fe80::aede:48ff:fe00:1122%4]:0
discover-interface en0 address [fe80::460:cb28:47a:7449%6]:0
discover-adding-interface *** en0 scope 6 address [fe80::460:cb28:47a:7449%6]:0
discover-interface en0 address [fe80::460:cb28:47a:7449%6]:0
discover-interface en0 address [fd7e:5a1e:b4b3:0:462:4d7f:4274:9df0]:0
discover-interface awdl0 address [fd7e:5a1e:b4b3:0:462:4d7f:4274:9df0]:0
discover-interface awdl0 address [fe80::3c1a:54ff:fe25:25f9%7]:0
discover-adding-interface *** awdl0 scope 7 address [fe80::3c1a:54ff:fe25:25f9%7]:0
discover-interface llw0 address [fe80::3c1a:54ff:fe25:25f9%7]:0
discover-interface llw0 address [fe80::3c1a:54ff:fe25:25f9%8]:0
discover-adding-interface *** llw0 scope 8 address [fe80::3c1a:54ff:fe25:25f9%8]:0
discover-interface en1 address [fe80::3c1a:54ff:fe25:25f9%8]:0
discover-interface en2 address [fe80::3c1a:54ff:fe25:25f9%8]:0
discover-interface en3 address [fe80::3c1a:54ff:fe25:25f9%8]:0
discover-interface en4 address [fe80::3c1a:54ff:fe25:25f9%8]:0
discover-interface bridge0 address [fe80::3c1a:54ff:fe25:25f9%8]:0
discover-interface utun0 address [fe80::3c1a:54ff:fe25:25f9%8]:0
discover-interface utun0 address [fe80::a0c2:c9d0:f433:330f%14]:0
discover-adding-interface *** utun0 scope 14 address [fe80::a0c2:c9d0:f433:330f%14]:0
discover-interface utun1 address [fe80::a0c2:c9d0:f433:330f%14]:0
discover-interface utun1 address [fe80::148c:6a9a:8170:86b6%15]:0
discover-adding-interface *** utun1 scope 15 address [fe80::148c:6a9a:8170:86b6%15]:0
discover-interface utun2 address [fe80::148c:6a9a:8170:86b6%15]:0
discover-interface utun2 address [fe80::ce81:b1c:bd2c:69e%16]:0
discover-adding-interface *** utun2 scope 16 address [fe80::ce81:b1c:bd2c:69e%16]:0
discover-interface utun3 address [fe80::ce81:b1c:bd2c:69e%16]:0
discover-interface utun3 address [fe80::ceb1:8c44:65a5:a272%17]:0
discover-adding-interface *** utun3 scope 17 address [fe80::ceb1:8c44:65a5:a272%17]:0
discover-interface utun4 address [fe80::ceb1:8c44:65a5:a272%17]:0
discover-interface utun4 address [fe80::ddd0:194c:bd7e:963c%18]:0
discover-adding-interface *** utun4 scope 18 address [fe80::ddd0:194c:bd7e:963c%18]:0
discover-interface utun5 address [fe80::ddd0:194c:bd7e:963c%18]:0
discover-interface utun5 address [fe80::ddd0:194c:bd7e:963c%18]:0
discover-interface vmenet0 address [fe80::ddd0:194c:bd7e:963c%18]:0
discover-interface bridge100 address [fe80::ddd0:194c:bd7e:963c%18]:0
discover-interface bridge100 address [fe80::ddd0:194c:bd7e:963c%18]:0
discover-interface bridge100 address [fe80::f8ff:c2ff:fe44:e564%20]:0
discover-adding-interface *** bridge100 scope 20 address [fe80::f8ff:c2ff:fe44:e564%20]:0
discover-interface bridge100 address [fdb2:2c26:f4e4::1]:0
discover-interface vmenet1 address [fdb2:2c26:f4e4::1]:0
discover-interface bridge101 address [fdb2:2c26:f4e4::1]:0
discover-interface bridge101 address [fdb2:2c26:f4e4::1]:0
discover-interface bridge101 address [fe80::f8ff:c2ff:fe44:e565%22]:0
discover-adding-interface *** bridge101 scope 22 address [fe80::f8ff:c2ff:fe44:e565%22]:0
discover-interface bridge101 address [fdb2:2c26:f4e4:1::1]:0
discover-interface pktap0 address [fdb2:2c26:f4e4:1::1]:0
discover-sent 0 = Ok(21)
discover-sent 4 = Ok(21)
discover-sent 6 = Ok(21)
discover-sent 7 = Ok(21)
discover-sent 8 = Ok(21)
discover-sent 14 = Ok(21)
discover-sent 15 = Ok(21)
discover-sent 16 = Ok(21)
discover-sent 17 = Ok(21)
discover-sent 18 = Ok(21)
discover-sent 20 = Ok(21)
discover-sent 22 = Ok(21)
[2024-09-03 08:29:44] Client failed
Error: Failed to locate local server

Mac mini - 14.6 - works

richb@Mac-mini2 release % ./crusader test
[2024-09-03 08:49:23] Client version 0.2.1-dev (commit 4599ce103751d8e8a49a46e7fa294f78e6160d6f) running
discover-interface lo0 address
discover-interface lo0 address
discover-interface lo0 address [::1]:0
discover-interface lo0 address [fe80::1%1]:0
discover-interface gif0 address [fe80::1%1]:0
discover-interface stf0 address [fe80::1%1]:0
discover-interface anpi0 address [fe80::1%1]:0
discover-interface anpi1 address [fe80::1%1]:0
discover-interface en0 address [fe80::1%1]:0
discover-interface en0 address [fe80::49b:8b96:cadf:6230%6]:0
discover-adding-interface *** en0 scope 6 address [fe80::49b:8b96:cadf:6230%6]:0
discover-interface en0 address [fd7e:5a1e:b4b3:0:1480:1b46:1610:421]:0
discover-interface en0 address [fd7e:5a1e:b4b3:0:1480:1b46:1610:421]:0
discover-interface en4 address [fd7e:5a1e:b4b3:0:1480:1b46:1610:421]:0
discover-interface en5 address [fd7e:5a1e:b4b3:0:1480:1b46:1610:421]:0
discover-interface en2 address [fd7e:5a1e:b4b3:0:1480:1b46:1610:421]:0
discover-interface en3 address [fd7e:5a1e:b4b3:0:1480:1b46:1610:421]:0
discover-interface bridge0 address [fd7e:5a1e:b4b3:0:1480:1b46:1610:421]:0
discover-interface ap1 address [fd7e:5a1e:b4b3:0:1480:1b46:1610:421]:0
discover-interface ap1 address [fe80::7c1b:f4ff:fe7d:fa7a%12]:0
discover-adding-interface *** ap1 scope 12 address [fe80::7c1b:f4ff:fe7d:fa7a%12]:0
discover-interface en1 address [fe80::7c1b:f4ff:fe7d:fa7a%12]:0
discover-interface awdl0 address [fe80::7c1b:f4ff:fe7d:fa7a%12]:0
discover-interface llw0 address [fe80::7c1b:f4ff:fe7d:fa7a%12]:0
discover-interface utun0 address [fe80::7c1b:f4ff:fe7d:fa7a%12]:0
discover-interface utun0 address [fe80::9fb4:a84e:3f98:9f0d%16]:0
discover-adding-interface *** utun0 scope 16 address [fe80::9fb4:a84e:3f98:9f0d%16]:0
discover-interface utun1 address [fe80::9fb4:a84e:3f98:9f0d%16]:0
discover-interface utun1 address [fe80::261d:659b:3b5d:f86d%17]:0
discover-adding-interface *** utun1 scope 17 address [fe80::261d:659b:3b5d:f86d%17]:0
discover-interface utun2 address [fe80::261d:659b:3b5d:f86d%17]:0
discover-interface utun2 address [fe80::2aa4:c81f:79ea:3578%18]:0
discover-adding-interface *** utun2 scope 18 address [fe80::2aa4:c81f:79ea:3578%18]:0
discover-interface utun3 address [fe80::2aa4:c81f:79ea:3578%18]:0
discover-interface utun3 address [fe80::ce81:b1c:bd2c:69e%19]:0
discover-adding-interface *** utun3 scope 19 address [fe80::ce81:b1c:bd2c:69e%19]:0
discover-sent 0 = Err(Os { code: 65, kind: HostUnreachable, message: "No route to host" })
discover-sent 6 = Ok(21)
discover-sent 12 = Ok(21)
discover-sent 16 = Ok(21)
discover-sent 17 = Ok(21)
discover-sent 18 = Ok(21)
discover-sent 19 = Ok(21)
[2024-09-03 08:49:23] Found server at `RPi5` [fe80::2ecf:67ff:fe0f:dc5%6]:35481 running version 0.2
[2024-09-03 08:49:23] Connected to server [fe80::2ecf:67ff:fe0f:dc5%6]:35481
[2024-09-03 08:49:25] Idle latency to server 0.30 ms
[2024-09-03 08:49:27] Testing download...
[2024-09-03 08:49:39] Testing upload...
[2024-09-03 08:49:51] Testing both download and upload...
[2024-09-03 08:50:04] Writing data...
[2024-09-03 08:50:04] Saved raw data as crusader-results/data 2024-09-03 08.50.04.crr
[2024-09-03 08:50:04] Saved plot as crusader-results/plot 2024-09-03 08.50.04.png
richb@Mac-mini2 release %
richb-hanover commented 3 weeks ago

Update: Little Snitch is turned off, so no, it's not a factor

richb-hanover commented 3 weeks ago

Off the wall thought: In the past, I had trouble building 0.1.something on this Macbook. It had trouble with crusader test, if I remember correctly. The pre-built version has always worked flawlessly.

Might it be valuable to build a 0.2.1-testing release that I could try? Thanks again

Zoxc commented 3 weeks ago

You did test the prebuilt version of 0.2 right?

richb-hanover commented 3 weeks ago

You did test the prebuilt version of 0.2 right?

Yes - in the original post - but good call to ask again.

One other observation: I think this is unrelated, but in the discover-interface lines above, none of them show IPv4 addresses. Is this expected?

Zoxc commented 3 weeks ago

Do you have Little Snitch on the Mac mini that's working?

richb-hanover commented 3 weeks ago

The cause of this behavior seems to be Little Snitch. I used "Uninstall Little Snitch" and Crusader's "locate peer" started to work on my MacBook Pro 12.7.5. Using the 0.2 Crusader GUI with a blank Server field, tcpdump shows the following trace.

Re-installing Little Snitch 5.7.6 caused the "locate peer" to stop functioning again. I am OK with this - I only ever intend to test against a known IP address.

Thanks for persevering, and my deep apologies for putting you through this. I will close this now.

?1 debug % sudo tcpdump port 35483
Password:
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes

20:11:42.716383 IP6 richs-mbp-pro.local.56128 > ip6-allnodes.lan.35483: UDP, length 21
20:11:42.716463 IP6 fe80::1445:fff:feac:e089.56128 > ip6-allnodes.lan.35483: UDP, length 21
20:11:42.716537 IP6 fe80::9101:be78:d9b7:1d41.56128 > ip6-allnodes.lan.35483: UDP, length 21
20:11:42.716569 IP6 fe80::1f22:97f0:9858:aefe.56128 > ip6-allnodes.lan.35483: UDP, length 21
20:11:42.716598 IP6 fe80::ce81:b1c:bd2c:69e.56128 > ip6-allnodes.lan.35483: UDP, length 21
20:11:42.721719 IP6 fe80::2ecf:67ff:fe0f:dc5.35483 > richs-mbp-pro.local.56128: UDP, length 64