AppleConnect is a small Swift wrapper around a Network TCP stream on the local network (using Bonjour for discovery).
Even though the transport is two-way, the API is built around a “service” that is offered by a single server and to which many clients can connect.
Setup for servers differs a little bit from that for clients. Once a connection is established, the channel is identical from both ends. All connections are encrypted using TLS-PSK derived from a shared key of your choosing.
For security, you should generate the shared key using cryptographically appropriate random data. Sharing this key should be done out-of-band and is out of scope for AppleConnect.
For user-facing applications, one way you might do this is by generating a code on one device and asking the user to confirm it on the second one.
A typical server should advertise its availability using Connection.advertise(forServiceType:name:key:)
. Attempts by clients to connect will show up as NWConnection
objects, which you can pass to Connection.init(connection:)
to complete the connection process.
A client should browse for servers it wants to connect to. Connection.endpoints(forServiceType:)
will asynchronously stream a list of available NWEndpoint
s, and once you’ve found an endpoint that you’d like to connect to, call Connection.init(endpoint:key:)
to establish the connection using the shared encryption key.
Both clients and servers can send data to each other using Connection.send(data:)
, and receive data by watching Connection.data
.
OSINTk.o is a customized Kali Linux-based ISO image with pre-installed packages and scripts. The idea…
Cify is a Ruby-based WiFi hacking tool designed for penetration testers, security researchers, and network…
Cify is a Ruby-based WiFi hacking tool designed for penetration testers, security researchers, and network…
Dive into the world of cyber security with our exploration of VisionServices Multi-Tool. Developed in…
A collection of cool tools used by Mobile hackers. Happy hacking , Happy bug-hunting. The…
Dive into the world of cybersecurity with GoHTools, a comprehensive collection of hacking utilities crafted…