Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
JuxhinDB committed Jul 12, 2018
1 parent de7769d commit 4c04990
Showing 1 changed file with 41 additions and 2 deletions.
43 changes: 41 additions & 2 deletions README.md
@@ -1,7 +1,46 @@
# Synner /'sɪnə'/

A TCP SYN flood client written in Rust, powered by libpnet

---

If you want to get this to work, you need to configure the Ethernet `dst` and `src` to point to your interface's MAC address and the target interface MAC address.
### Prequisites

- rustc/cargo v1.27.0
- WinPcap for Windows for libpnet to work (see [this](https://github.com/libpnet/libpnet#windows))

### Usage

`cargo run TARGET_IP INTERFACE_NAME`

In order to be able to pull the list of network interfaces, make sure that you are running in a terminal/command prompt with admin privilieges.

If you are not sure about the interface name, you can run the tool with a dummy value (e.g. `\DEVICE\`) and wait for it to print out the list of interfaces like so:

```
cargo run 192.168.33.10 \DEVICE\
Compiling synner v0.1.0 (file:///C:/Users/juxhindb/Projects/synner)
Finished dev [unoptimized + debuginfo] target(s) in 1.63s
Running `target\debug\synner.exe 192.168.33.10 \DEVICE\`
List of Available Interfaces
Interface name: "\\Device\\NPF_{B1BBC7C0-C3CF-490B-A640-00ABDB86F989}"
Interface MAC: 0a:00:27:00:00:12
Interface IP: 192.168.99.1
Interface name: "\\Device\\NPF_{AD266AD1-7AE0-4360-8EE5-ED6283B43B9C}"
Interface MAC: 2a:56:5a:4f:fc:e9
Interface IP: 0.0.0.0
Interface name: "\\Device\\NPF_{2288F93F-E56C-4F71-8B8E-C385BE71421F}"
Interface MAC: 1a:56:5a:4f:fc:e9
Interface IP: 0.0.0.0
```

Where you can then copy the name. Be sure to unescape the `\\`.

### Example

Running `cargo run 206.189.96.237 \Device\NPF_{F94968E8-FBA0-410D-8CD3-F205AEAD4DC9}` again a test DigitalOcean droplet. The GIF below is split into three panels. Bottom one running `synner`, top-right is an SSH connection running a TCP dump (`sudo tcpdump "tcp[tcpflags] & (tcp-syn) != 0" -i eth0 -n`) and the top-left is me attempting to make _another_ SSH connection to the target machine once the target is being flooded.

You also need to configure the hardcoded source IP from 192.168.33.1 to your own IP. Make sure the target IP is on the same subnet.
![foo](res/example.gif)

0 comments on commit 4c04990

Please sign in to comment.