rtpinsertsound Package Description
A tool to insert audio into a specified audio (i.e. RTP) stream was created in the August – September 2006 timeframe. The tool is named rtpinsertsound. It was tested on a Linux Red Hat Fedora Core 4 platform (Pentium IV, 2.5 GHz), but it is expected this tool will successfully build and execute on a variety of Linux distributions.
Source: rtpinsertsound README
rtpinsertsound Homepage | Kali rtpinsertsound Repo
- Author: Mark D. Collier, Mark O’Brien, SecureLogix, Dustin D. Trammell
- License: GNU Free Documentation License
Tools included in the rtpinsertsound package
rtpinsertsound – Inserts audio into a specified stream
[email protected]:~# rtpinsertsound -h
rtpinsertsound - Version 2.0
October 10, 2006
Usage:
Mandatory -
pathname of file whose audio is to be mixed into the
targeted live audio stream. If the file extension is
.wav, then the file must be a standard Microsoft
RIFF formatted WAVE file meeting these constraints:
1) header 'chunks' must be in one of two sequences:
RIFF, fmt, fact, data
or
RIFF, fmt, data
2) Compression Code = 1 (PCM/Uncompressed)
3) Number of Channels = 1 (mono)
4) Sample Rate (Hz) = 8000
5) Significant Bits/Sample =
signed, linear 16-bit or
unsigned, linear 8-bit
If the file name does not specify a .wav extension,
then the file is presumed to be a tcpdump formatted
file with a sequence of, exclusively, G.711 u-law
RTP/UDP/IP/ETHERNET messages
Note: Yep, the format is referred to as 'tcpdump'
even though this file must contain udp messages
Optional -
-a source RTP IPv4 addr
-A source RTP port
-b destination RTP IPv4 addr
-B destination RTP port
-f spoof factor - amount by which to:
a) increment the RTP hdr sequence number obtained
from the ith legitimate packet to produce the
RTP hdr sequence number for the ith spoofed packet
b) multiply the RTP payload length and add that
product to the RTP hdr timestamp obtained from
the ith legitimate packet to produce the RTP hdr
timestamp for the ith spoofed packet
c) increment the IP hdr ID number obtained from the
ith legitimate packet to produce the IP hdr ID
number for the ith spoofed packet
[ range: +/- 1000, default: 2 ]
-i interface (e.g. eth0)
-j jitter factor - the reception of a legitimate RTP
packet in the target audio stream enables the output
of the next spoofed packet. This factor determines
when that spoofed packet is actually transmitted.
The factor relates how close to the next legitimate
packet you'd actually like the enabled spoofed packet
to be transmitted. For example, -j 10 means 10% of
the codec's transmission interval. If the transmission
interval = 20,000 usec (i.e. G.711), then delay the
output of the spoofed RTP packet until the time-of-day
is within 2000 usec (i.e. 10%) of the time the next
legitimate RTP packet is expected. In other words,
delay 100% minus the jitter factor, or 18,000 usec
in this example. The smaller the jitter factor, the
greater the risk you run of not outputting the current
spoofed packet before the next legitimate RTP packet
is received. Therefore, a factor > 10 is advised.
[ range: 0 - 80, default: 80 = output spoof ASAP ]
-p seconds to pause between setup and injection
-h help - print this usage
-v verbose output mode
Note: If you are running the tool from a host with multiple
ethernet interfaces which are up, be forewarned that
the order those interfaces appear in your route table
and the networks accessible from those interfaces might
compel Linux to output spoofed audio packets to an
interface different than the one stipulated by you on
command line. This should not affect the tool unless
those spoofed packets arrive back at the host through
the interface you have specified on the command line
(e.g. the interfaces have connectivity through a hub).
rtpinsertsound Usage Example
Insert an audio file (/usr/share/rtpinsertsound/stapler.wav) through the network and use verbose output (-v):
[email protected]:~# rtpinsertsound /usr/share/rtpinsertsound/stapler.wav -v
Targeting interface eth0
libfindrtp_find_rtp(): using pcap filter "ip".