Giter Site home page Giter Site logo

Comments (14)

bodaay avatar bodaay commented on June 11, 2024 1

The -N is just a hack to get it to work with devices without active monitoring
You never need that with supported chipset

I faced similar issue when i first started this whole thing, most of them were because of outdated articles and unnecessary steps

Owl is really awesome and can do everything without any extra configuration

Thanks for sharing your feedback, really appreciate it

from goopendrop.

bodaay avatar bodaay commented on June 11, 2024

is Airdrop set to Everyone or contacts only mode? you can of course use contacts only mode, given all the parameters set correctly and you added a contact with the same Apple ID in the extraction step

from goopendrop.

IronBit-0 avatar IronBit-0 commented on June 11, 2024

The iPhone's airdrop was set to Everyone mode, tried it again with Contacts Only mode to the same effect: showing Airdrop Beacons Received from address on the console, but nothing on the iPhone's end.

If it matters, I got the apple_root_ca.pem from opendrop, not from the key generation.

config.json set to:

{
    "inbox_folder":"INBOX",
    "outbox_folder":"OUTBOX",
    "owl_wlan_dev_name":"mon0",
    "owl_channel_6_44_149":"6",
    "os_downloadedfiles_owner":"khalefa",
    "awdl_interface_name":"awdl0",
    "thumbnail_picture_jp2":"fixed_thumbnail.jp2",
    "ble_device":"hci0",
    "airdrop_appleid":"[email protected]",
    "airdrop_email":"[email protected]",
    "airdrop_phone":"97411111111",
    "airdrop_server_hostname":"GoOpenDrop",
    "airdrop_server_model":"MacbookPro5.1",
    "airdrop_server_port":8772,
    "apple_root_cert":"certs/apple_root_ca.pem",
    "extracted_certififcate":"keys/certificate.pem",
    "extracted_certkey":"keys/key_noenc.pem",
    "extracted_validation_recoed":"keys/validation_record.cms"
}

from goopendrop.

bodaay avatar bodaay commented on June 11, 2024

this will happen if OWL is not working properly,
in init.go, comment this line:

go owl.StartOwlInterface(config.OwlWlanDeviceName, config.OwlChannel, config.AWDLInterfaceName, log)

run owl in a separate terminal:

ifconfig down wlan1 && owl -i wlan1

and run GoOpenDrop

try to send the file again,
check the logs of OWL in the sepaarate thread, check are you getting "Add Device", with that you will know if your phone has joined the AWDL link

from goopendrop.

IronBit-0 avatar IronBit-0 commented on June 11, 2024

No files received by the iPhone, nor any devices showed up to send to.

In the terminal running goopendrop:

INFO[0017] Airdrop Beacons Received from address=16:5E:88:42:CD:AD, with rssi=-32
INFO[0074] Airdrop Beacons Received from address=16:5E:88:42:CD:AD, with rssi=-51
INFO[0108] Airdrop Beacons Received from address=16:5E:88:42:CD:AD, with rssi=-51
WARN[0137] Service Time out
INFO[0140] Airdrop Beacons Received from address=16:5E:88:42:CD:AD, with rssi=-32

In the terminal running OWL:

14:24:09 INFO : WLAN device: mon0 (addr e8:4e:6:99:f:43)
14:24:09 INFO : Host device: awdl0
14:24:39 INFO : add peer 46:fa:e8:9f:4e:3d ()
14:24:43 INFO : remove peer 46:fa:e8:9f:4e:3d ()
14:25:37 INFO : add peer 16:bd:52:6c:7e:1f ()
14:25:41 INFO : remove peer 16:bd:52:6c:7e:1f ()
14:26:10 INFO : add peer 96:21:57:cb:ea:5b ()
14:26:14 INFO : remove peer 96:21:57:cb:ea:5b ()
14:26:40 INFO : add peer 82:d0:8f:16:57:45 (013af8f8-d063-4f7c-b9fb-4bd5472300c6)
14:26:44 INFO : remove peer 82:d0:8f:16:57:45 (013af8f8-d063-4f7c-b9fb-4bd5472300c6)

from goopendrop.

bodaay avatar bodaay commented on June 11, 2024
{
    "inbox_folder":"INBOX",
    "outbox_folder":"OUTBOX",
    "owl_wlan_dev_name":"mon0",
    "owl_channel_6_44_149":"6",
    "os_downloadedfiles_owner":"khalefa",
    "awdl_interface_name":"awdl0",
    "thumbnail_picture_jp2":"fixed_thumbnail.jp2",
    "ble_device":"hci0",
    "airdrop_appleid":"[email protected]",
    "airdrop_email":"[email protected]",
    "airdrop_phone":"97411111111",
    "airdrop_server_hostname":"GoOpenDrop",
    "airdrop_server_model":"MacbookPro5.1",
    "airdrop_server_port":8772,
    "apple_root_cert":"certs/apple_root_ca.pem",
    "extracted_certififcate":"keys/certificate.pem",
    "extracted_certkey":"keys/key_noenc.pem",
    "extracted_validation_recoed":"keys/validation_record.cms"
}

is this the config you are using?

can you paste the full log of GoOpenDrop?

from goopendrop.

IronBit-0 avatar IronBit-0 commented on June 11, 2024

goopendrop command output:

INFO[0000] Config File: ./config.json
INFO[0000] Using Wifi Interface: mon0
WARN[0000] Waiting for AWDL Interface (awdl0) to Start
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] POST   /Discover                 --> goopendrop/awdl.(*AWDLServer).StartWebServer.func1 (3 handlers)
[GIN-debug] HEAD   /                         --> goopendrop/awdl.(*AWDLServer).StartWebServer.func2 (3 handlers)
[GIN-debug] POST   /Ask                      --> goopendrop/awdl.(*AWDLServer).StartWebServer.func3 (3 handlers)
[GIN-debug] POST   /Upload                   --> goopendrop/awdl.(*AWDLServer).StartWebServer.func4 (3 handlers)
[GIN-debug] Listening and serving HTTPS on [fe80::ea4e:6ff:fe99:f43%awdl0]:8772
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
INFO[0017] Airdrop Beacons Received from address=16:5E:88:42:CD:AD, with rssi=-32
INFO[0074] Airdrop Beacons Received from address=16:5E:88:42:CD:AD, with rssi=-51
INFO[0108] Airdrop Beacons Received from address=16:5E:88:42:CD:AD, with rssi=-51
WARN[0137] Service Time out
INFO[0140] Airdrop Beacons Received from address=16:5E:88:42:CD:AD, with rssi=-32
^CWARN[0147] shutting down airdrop service
WARN[0147] Received signal [%v]; shutting down AWDL Client...
interrupt
INFO[0148] Received signal [interrupt]; shutting down BLE SCAN...
WARN[0148] read unix @->/run/dbus/system_bus_socket: use of closed network connection
WARN[0148] dbus: connection closed by user
INFO[0148] Received signal [interrupt]; shutting down...
INFO[0148] Received signal [interrupt]; shutting down...

config.json:

{
    "inbox_folder":"INBOX",
    "outbox_folder":"OUTBOX",
    "owl_wlan_dev_name":"mon0",
    "owl_channel_6_44_149":"6",
    "os_downloadedfiles_owner":"khalefa",
    "awdl_interface_name":"awdl0",
    "thumbnail_picture_jp2":"fixed_thumbnail.jp2",
    "ble_device":"hci0",
    "airdrop_appleid":"[email protected]",
    "airdrop_email":"[email protected]",
    "airdrop_phone":"97411111111",
    "airdrop_server_hostname":"GoOpenDrop",
    "airdrop_server_model":"MacbookPro5.1",
    "airdrop_server_port":8772,
    "apple_root_cert":"certs/apple_root_ca.pem",
    "extracted_certififcate":"keys/certificate.pem",
    "extracted_certkey":"keys/key_noenc.pem",
    "extracted_validation_recoed":"keys/validation_record.cms"

}

from goopendrop.

bodaay avatar bodaay commented on June 11, 2024

everyything look fine from your side, BLE is workig 100%
GoOpenDrop is sending and detecting the beacons

the only thing I can think of is double check OWL by running it with:

owl -vv -i interfacename

check if you are getting errors in OWL, usually they are Injecting Frames errors

from goopendrop.

IronBit-0 avatar IronBit-0 commented on June 11, 2024

The output was long, so I cut some parts out. Most of it was just "send MIF" "send PSF". The output was the usual for the goopendrop terminal.

14:54:18 TRACE: pcap: unable to open savefile (mon0: No such file or directory)
14:54:18 INFO : WLAN device: mon0 (addr e8:4e:6:99:f:43)
14:54:18 INFO : Host device: awdl0
14:54:18 DEBUG: switch channel to 6 (slot 0)
14:54:18 DEBUG: Channel 6 [2437 MHz] is available for frame injection
14:54:18 TRACE: send MIF
14:54:18 TRACE: Send data (len 125) to 33:33:0:0:0:16 (0.0.38)
...
14:54:41 TRACE: awdl_action: receive MIF from 8a:33:7d:2a:fb:3e (rssi -43)
14:54:41 DEBUG: peer 8a:33:7d:2a:fb:3e () changed channel sequence to 149,149,149,149,149,149,7,7,6,149,149,149,149,149,7,7
14:54:41 TRACE: awdl: not handling HT Capabilities (7)
14:54:41 TRACE: awdl: not handling VHT Capabilities (17)
14:54:41 TRACE: awdl: not handling Service Parameters (6)
14:54:41 TRACE: awdl: not handling Service Response (2)
14:54:41 TRACE: awdl: not handling Service Response (2)
14:54:41 TRACE: awdl: not handling Service Response (2)
14:54:41 INFO : add peer 8a:33:7d:2a:fb:3e (d66cc0ce-82b4-4c9d-9b1b-43cacedbc5f7)
...
14:54:42 TRACE: awdl_action: receive MIF from 8a:33:7d:2a:fb:3e (rssi -43)
14:54:42 TRACE: awdl: not handling HT Capabilities (7)
14:54:42 TRACE: awdl: not handling VHT Capabilities (17)
14:54:42 TRACE: awdl: not handling Service Parameters (6)
14:54:42 TRACE: awdl: not handling Service Response (2)
14:54:42 TRACE: awdl: not handling Service Response (2)
14:54:42 TRACE: awdl: not handling Service Response (2)
14:54:42 TRACE: send MIF
14:54:42 TRACE: awdl_action: receive MIF from 8a:33:7d:2a:fb:3e (rssi -43)
14:54:42 TRACE: awdl: not handling HT Capabilities (7)
14:54:42 TRACE: awdl: not handling VHT Capabilities (17)
14:54:42 TRACE: awdl: not handling Service Parameters (6)
14:54:42 TRACE: awdl: not handling Service Response (2)
14:54:42 TRACE: awdl: not handling Service Response (2)
14:54:42 TRACE: awdl: not handling Service Response (2)
...
14:54:42 TRACE: awdl_action: receive MIF from 8a:33:7d:2a:fb:3e (rssi -43)
14:54:42 TRACE: Sync error -22421 TU (100.00 %)
14:54:42 TRACE: awdl: not handling HT Capabilities (7)
14:54:42 TRACE: awdl: not handling VHT Capabilities (17)
14:54:42 TRACE: awdl: not handling Service Parameters (6)
14:54:42 TRACE: awdl: not handling Service Response (2)
14:54:42 TRACE: awdl: not handling Service Response (2)
14:54:42 TRACE: awdl: not handling Service Response (2)
...
14:54:50 TRACE: Send data (len 269) to 33:33:0:0:0:fb (9.0.45)
14:54:50 TRACE: awdl_send_multicast: retry in 0 TU
14:54:50 TRACE: Send data (len 258) to 1:0:5e:0:0:fb (9.0.44)
14:54:50 TRACE: awdl_send_multicast: retry in 0 TU
14:54:50 TRACE: Send data (len 278) to 33:33:0:0:0:fb (9.0.43)
14:54:50 TRACE: awdl_send_multicast: retry in 0 TU
14:54:50 TRACE: Send data (len 258) to 1:0:5e:0:0:fb (9.0.43)
14:54:50 TRACE: awdl_send_multicast: retry in 0 TU
14:54:50 TRACE: Send data (len 278) to 33:33:0:0:0:fb (9.0.42)

from goopendrop.

bodaay avatar bodaay commented on June 11, 2024

the not handling errors are normal, OWL is not implementing the full AWDL protocol

but Sync errors and send errors are not normal

I have not tested the wifi adapter you are using, though it has the same chipset I tested in Linksys Adapter

try restarting the adapter, unplugging and plugging.
you can clearly see in the logs its failing to send multicase packets used in discovery of devices

from goopendrop.

IronBit-0 avatar IronBit-0 commented on June 11, 2024

after restarting the pi and unplugging/plugging the adapter, I'm still getting the multicast retries.
If it's of any help:
the output of ifconfig mon0

mon0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        unspec E8-4E-06-99-0F-43-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 1722  bytes 249403 (243.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

iw mon0 info

Interface mon0
        ifindex 10
        wdev 0x200000002
        addr e8:4e:06:99:0f:43
        type monitor
        wiphy 2
        txpower 30.00 dBm

from goopendrop.

bodaay avatar bodaay commented on June 11, 2024

I'm just curious of one thing, why your wlan adapter is called mon0? are you by any chance using airmon to create the adapter?

I know in some articles sepcially with Nexamon they are using airmon utils to create this mon0, but to be honest I've never needed this since owl is automatically configuring the interface properly

thats why I mentioned in my first answer, just run it using:

ifconfig down wlan1 && owl -i wlan1

the first statement to make sure that you don't adapter busy, owl always enabling the adapter, putting it in monitor mode with out any extra software from airmon utils

I'm not sure if this is the reason, but its worth it to try this

from goopendrop.

IronBit-0 avatar IronBit-0 commented on June 11, 2024

Success! It successfully sent an image to the iPhone.

INFO[0000] Config File: ./config.json
INFO[0000] Using Wifi Interface: wlan1
WARN[0000] Waiting for AWDL Interface (awdl0) to Start
...
INFO[0018] Airdrop Beacons Received from address=18:56:CF:8D:16:F7, with rssi=-54
INFO[0020] Fouod New Device with ip: fe80::c0d:b3ff:fe96:c691 and hostname: c5d34c7f-1e77-4515-bdbd-a1bfec57d4a4.local., Trying to Discover it...
INFO[0027] Adding New Discovered Device: test, Model: iPhone
INFO[0027] Asking Client test To Accept File os Type: images/videos, Number of Files 1
INFO[0036] Client test Accepted Airdrop Request
INFO[0076] Uploaded successfuly to client: test file of type images/videos. Number of Files: 1
INFO[0137] Fouod New Device with ip: fe80::b0b6:40ff:fea2:d766 and hostname: 2496950a-c036-4ed0-85cd-1fac6f49dbe8.local., Trying to Discover it...
WARN[0139] Service Time out
WARN[0142] Updated Existing Found Device: test
INFO[0172] Fouod New Device with ip: fe80::4c60:96ff:fe5d:851a and hostname: 3cfc6473-b532-4f62-93a6-cda5ed621594.local., Trying to Discover it...
WARN[0176] Updated Existing Found Device: test

I was previously running iw phy phy1 interface add mon0 type monitor, which I got from this article, and I was using the name mon0 because I was too lazy to change it to wlan0. However, instead of creating a new device with iw, I just used the existing wlan1 device (the antenna), and that worked. Also previously I was running ifconfig mon0 up, then running owl with the -N flag. I don't know if that also made a difference, but it all works now.

from goopendrop.

IronBit-0 avatar IronBit-0 commented on June 11, 2024

Thanks for helping me out!

from goopendrop.

Related Issues (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.