Command-line interface for capturing and analysing VoIP traffic. Main features include the parsing and creation of SIP signaling packets, with a side emphasis on capturing RTP data, decoding it and producing .wav files.
In order to use this repository you will have to:
- Clone to your location of choice
- SSH:
git clone [email protected]:adriancostin6/VoIP-Analyser.git
- HTTPS:
git clone https://github.com/adriancostin6/VoIP-Analyser.git
- SSH:
- For Linux
- Change directory to the project
cd VoIP-Analyser
- Change directory to linux
cd linux
- Make build directory
mkdir build
- Change directory to build
cd build
- Run CMake using
cmake ..
- Run Make using
make
- Run the generated executable using
sudo ./cap
because packet capture requires root privileges.
- Change directory to the project
- For Windows
- Open Visual Studio solution in win32 directory
- Build the project in Release/x64 or Debug/x64
- Run the generated executable
This project requires the libtins library for compilation. Instructions for installing this dependency are provided on the official github page.
The packet capture was run and tested on an Asterisk PBX server running inside a virtual machine.
- Live capture mode
- Live interface
- Captures all incoming traffic and saves it to a PCAP file
- Parses the PCAP file two times to extract the SIP and RTP data
- Saves all of the SIP packets to separate output files located in the output folder
- Decodes and writes the RTP data to two separate WAV files, one for each speaker in the call. 1, Existing PCAP file
- Parses an existing PCAP file for SIP and RTP data as described above
- Live interface
- Packet crafting mode
- Reads user input either from a text file or from the command line
- Creates a SIP packet from the information provided
- Validates the packet by checking for the correct syntax and presence of mandatory headers (for SIP requests)
- If the packet is valid it sends it over the network to the specified address and port