Frontend for decrypting captured SRTP packets.
Project description
Simple front-end for decrypting captured SRTP and SRTCP packets using:
install
Install devel libpcap and libsrtp if you need to, e.g.:
sudo apt-get install libpcap-dev libsrtp0-dev
and then:
pip install dsrtp
usage
command
To e.g. decrypt captured packets and write then back to a capture file:
dsrtp test/fixtures/av.pcap /tmp/rtp.pcap -ld -k test/fixtures/av_material.hex
If you have a cluttered capture (e.g. multiple SRTP streams) then you can select e.g. the in-bound stream by address:port like:
dsrtp test/fixtures/av.pcap /tmp/rtp.pcap -k test/fixtures/av_material.hex -l d -i 192.168.121.234:60401
lib
To do the same in code:
import dsrtp
enc_km = open('test/fixtures/av_material.hex').read()
km = dsrtp.KeyingMaterial.unpack_hex(enc_km)
p = dsrtp.SRTPPolicy(ssrc_type=dsrtp.SRTPPolicy.SSRC_ANY_INBOUND, key=km.local)
with dsrtp.SRTP(p) as ctx, \
open('test/fixtures/av.pcap', 'rb') as srtp_pcap, \
open('/tmp/rtp.pcap', 'wb') as rtp_pcap:
pkts = dsrtp.read_packets(srtp_pcap)
decrypted_pkts = dsrtp.decrypt_packets(ctx, pkts)
dsrtp.write_packets(rtp_pcap, decrypted_pkts)
dev
Create a venv:
mkvirtualenv dsrtp
pip install Cython
then get it:
git clone git@github.com:mayfieldrobotics/dsrtp.git
cd dsrtp
workon dsrtp
pip install -e .[test]
and test it:
py.test test/ --cov dsrtp --cov-report term-missing --pep8
release
Tests pass:
py.test test/ --cov dsrtp --cov-report term-missing --pep8
so update __version__ in:
dsrtp/__init__.py
commit and tag it:
git commit -am "release v{version}"
git tag -a v{version} -m "release v{version}"
git push --tags
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dsrtp-0.2.0.tar.gz
(66.6 kB
view details)
File details
Details for the file dsrtp-0.2.0.tar.gz
.
File metadata
- Download URL: dsrtp-0.2.0.tar.gz
- Upload date:
- Size: 66.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c42ee62e73b4ad7319fb2f3845fd52e44bd46e284f1cde92a869d6376293c007 |
|
MD5 | 149828b27632229754d3420425fb58f3 |
|
BLAKE2b-256 | c3a453cf10bd04eafe6beb9330532c2f3ee8c5bac2dff15a724e750d5118b9eb |