diff --git a/README.md b/README.md index db0b6b8e..77e7cd80 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@
-

Application to comfortably monitor your network traffic.

-

Multithreaded, cross-platform, reliable.

+

Application to comfortably monitor your network traffic

+

Multithreaded, cross-platform, reliable

@@ -15,24 +15,28 @@


-

+

-TO BE CONTINUED....... +
+

Sniffnet is a simple yet robust packet sniffer developed with the aim to let people have a glance into their network traffic without pain, +in a straightforward and comprehensible way

+
+ +
-## Install +## Install & Run -The application binary can be installed with ```cargo install sniffnet``` +If you have [Rust installed](https://www.rust-lang.org/tools/install) on your machine, the application binary can be installed with ```cargo install sniffnet``` -The application can then be run using ```sniffnet [OPTIONS]``` +Otherwise, you can install Sniffnet through the installers available in the [latest release](https://github.com/GyulyVGC/sniffnet/releases)
- Build on Windows  - -
- In order to build and run Sniffnet on Windows systems you need to: + Windows dependencies  + + In order to correctly run Sniffnet on Windows systems you need to: - Install [Npcap](https://npcap.com/#download). @@ -45,95 +49,45 @@ The application can then be run using ```sniffnet [OPTIONS]```
- Build on Linux  - -
+ Linux dependencies  - In order to build and run Sniffnet on Linux systems, install the libraries and header files for the libpcap library: - `sudo apt-get install libpcap-dev` + In order to correctly run Sniffnet on Linux systems, install the libraries and header files for the libpcap library: + +`sudo apt-get install libpcap-dev` - Note that if you are not running as root, you need to set capabilities like so: - `sudo setcap cap_net_raw,cap_net_admin=eip ~/.cargo/bin/sniffnet` + Note that if you are not running as root, you need to set capabilities to inspect a network adapter: + +`sudo setcap cap_net_raw,cap_net_admin=eip `
- Build on MacOS  - -
+ MacOS dependencies  + MacOS natively has all the dependencies you need to build and run Sniffnet!
-## Graphical report +## Features -
- - See details +- choose a network adapter to inspect +- select filters to apply to the observed traffic: + * IP version + * transport protocol + * application protocol +- view real-time charts about traffic intensity (bytes and packets per second, incoming and outgoing) +- view overall statistics about the filtered traffic +- view most relevant connections (most recent, most packets, most bytes) +- save textual report with detailed information for each connection: + * source and destination IP addresses + * source and destination ports + * carried protocols + * amount of exchanged packets and bytes + * initial and final timestamp of information exchange -
- -The graphical report consists of a svg file, constantly updated while Sniffnet is running. -It is suggested to open this file with a web browser, in order to be able to comfortably refresh it. - -It reports the amount of sent (outgoing) and received (incoming) bits and packets per second. - - - -Note that the number of bits and packets in the graph refers to one single second even if the update frequency is different. - -The default update frequency is set to 5 seconds, but you can change it launching the application with the ```-i``` option. -Note that the default interval of 5 seconds is more suitable if the network traffic is constant and steady (e.g., large file download); -in case of intermittent traffic, you can consider using a lower time interval. - -
- -## Textual reports - -
- - See details - -### statistics.txt - -This file contains details and statistics about the sniffing process. - -

- -

- -First, it specifies the name of the network adapter analyzed. - -Then there is a detail about the initial timestamp of the sniffing process and the last timestamp in which the report was updated. - -It also describes the status of the possible filters applicable by the user through the command line: IP address version, transport layer protocol, port minimum and maximum number, and application layer protocol. - -Finally, it reports some statistics about the observed traffic: the number of [address:port] pairs considered, the total number -of sniffed packets, the number (and percentage) of packets selected according to the active filters and a list of the -observed application layer protocols with the respective packets count. - - -### report.txt - -This file contains a detailed analysis of the packets stream for each [address:port] pair. - -This analysis results in a table in which each row represents an [address:port] pair with the relative statistics. - -

- -

- -For each [address:port] pair it is reported the amount of exchanged data measured in number of packets and in number of bytes between the source and the destination. - -For each [address:port] pair are reported the first and the last timestamp in which a packet was transmitted between that [address:port] pair. - -Level 4 and level 7 carried protocols are also described (respectively transport layer and application layer protocols); -please note that application level protocols are just inferred from the transport port numbers. - -
## Supported application layer protocols