Skip to main content

Frontend for decrypting captured SRTP packets.

Project description

https://travis-ci.org/mayfieldrobotics/dsrtp.svg https://img.shields.io/pypi/v/dsrtp.svg

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

and travis will publish it to pypi.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dsrtp, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size dsrtp-0.2.0.tar.gz (66.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page