Justine Pelletreau 35bae831d9 readme
2023-07-14 00:19:20 +02:00
2023-07-13 19:38:04 +02:00
2023-07-14 00:17:11 +02:00
2023-07-13 18:47:01 +02:00
2023-07-13 18:47:01 +02:00
2023-07-13 18:47:01 +02:00
2023-07-13 18:47:01 +02:00
2023-07-14 00:19:20 +02:00

Portnut

TODO

  • Read the answer and count the number of answers received.
  • Make a distributed version that allows stressing from multiple computers at the same time

Portnut is a tcp port scanner / stresser.

The scanning function simply tries to connect to the tcp ports given. The stressing function sends a payload every 10 milliseconds, to every ports given at the same time. The payload can be passed via a pipe (optionnal).

1637 justine@portnut > target/release/portnut -a 127.0.0.1 -w 3 -p 8080,22   
Scanning 127.0.0.1
TCP/8080 => REJECT
TCP/22 => REJECT

#First scan the ports, and stress the available ones.
1738 justine@portnut > echo "GET / HTTP/1.1" | target/release/portnut -a 127.0.0.1 -p 8080 -w 30 -s -c 100
Scanning 127.0.0.1
TCP/8080 => ACCEPT

Stressing 127.0.0.1 using 100 concurrent threads per port for 30s 

See the help :

1648 justine@portnut > target/release/portnut -h
A simple TCP port scanner / stresser. If stressing, you can pass a payload via a pipe

Usage: portnut [OPTIONS] --address <ADDRESS>

Options:
  -a, --address <ADDRESS>    IP address to scan
  -t, --timeout <TIMEOUT>    Timeout for each connection in seconds [default: 1]
  -w, --wait <WAIT>          Number of milliseconds to wait in between scans when scanning OR duration of stress when stress testing (in seconds) [default: 30]
  -p, --ports <PORTS>...     Ports to stress / scan, separated by commas (22,80)
  -s, --stress               Set this flag to stress the ports instead of scanning them
  -c, --cthreads <CTHREADS>  How many threads per port when stressing (Concurrent Threads) [default: 5]
  -h, --help                 Print help
  -V, --version              Print version

Description
A little port scanner / stresser to play around with tcp in Rust.
Readme 83 KiB
Languages
Rust 96.5%
Dockerfile 3.5%