corellium / usbfluxd

Redirects the standard usbmuxd socket to allow connections to local and remote usbmuxd instances so remote devices appear connected locally.
GNU General Public License v2.0
352 stars 48 forks source link

Add instructions for Linux and PATH issue for systems without /usr/lo… #9

Closed sickcodes closed 3 years ago

sickcodes commented 3 years ago

Installation From Source

To compile run:

# brew install make autoheader automake autoconf libtool pkg-config gcc libimobiledevice

git clone https://github.com/corellium/usbfluxd.git
cd usbfluxd

./autogen.sh
make
sudo make install

Also available from the Arch User Repository for Linux hosts: https://aur.archlinux.org/packages/usbfluxd/

Linux Usage

Connecting your device over USB on Linux allows you to expose usbfluxd on port 5000 to another system on the same network.

Ensure usbmuxd, socat and usbfluxd are installed.

Start the usbmuxd daemon on Linux

sudo systemctl start usbmuxd

Start avahi-daemon for small-scale mDNS

sudo avahi-daemon

Start usbfluxd in the foreground

sudo usbfluxd -f -n

Expose /var/run/usbmuxd on port 5000

sudo socat tcp-listen:5000,fork unix-connect:/var/run/usbmuxd

Choose any IP address from ip addr as the source.

Connect to a host running usbfluxd

From the remote host (catch the remote usbfluxd and make it appear local).

# on the destination
export PATH=/usr/local/sbin:${PATH}
sudo usbfluxd -f -r 10.0.0.2:5000
strazzere commented 3 years ago

LGTM, thank you for your contribution