Skip to content

julilili42/rust-drop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rustdrop

A small local-network tool for packet capture, ARP discovery, and peer-to-peer messages/files.

Rust backend. React/Vite frontend.

Features

  • live TCP/UDP and ARP capture
  • ARP-based host discovery
  • session stats by IP/port pair
  • mDNS peer discovery
  • peer messages
  • file transfer between discovered peers
  • HTTPS/WSS backend with local self-signed certs

Run

Backend:

sudo apt install libpcap-dev
PORT=3000 DEVICE_NAME=my-device INTERFACE=eth0 cargo run

Packet capture usually needs elevated permissions.

Frontend:

cd gui
npm install
npm run dev

The UI connects to https://localhost:3000 by default.

Since the backend uses a self-signed cert, your browser may ask you to trust it once.

Docker

docker build -f dockerfile -t rustdrop .
docker run --rm --network host \
  --cap-add NET_RAW \
  --cap-add NET_ADMIN \
  -e DEVICE_NAME=my-device \
  -e INTERFACE=eth0 \
  rustdrop

API

Main routes:

POST   /capture
DELETE /capture
POST   /scan
DELETE /scan
GET    /packets
GET    /hosts
GET    /sessions
GET    /peers
GET    /peers/messages
GET    /ws

Notes

Use this only on networks you own or are allowed to inspect.

About

Local packet capture, ARP discovery, and peer-to-peer file sharing in Rust.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages