(self)
| 13 | class DshellPlugin(dshell.core.PacketPlugin): |
| 14 | |
| 15 | def __init__(self): |
| 16 | super().__init__( |
| 17 | name="RTP", |
| 18 | author="mm/dev195", |
| 19 | bpf="udp", |
| 20 | description="Real-time transport protocol (RTP) capture plugin", |
| 21 | longdescription=""" |
| 22 | The real-time transport protocol (RTP) plugin will extract the Hosts, Payload Type, Synchronization source, |
| 23 | Sequence Number, Padding, Marker and Client MAC address from every RTP packet found in the given pcap. |
| 24 | |
| 25 | General usage: |
| 26 | |
| 27 | decode -d rtp <pcap> |
| 28 | decode -d rtp --no-vlan --layer2=sll.SLL <pcap> |
| 29 | |
| 30 | Examples: |
| 31 | |
| 32 | https://wiki.wireshark.org/SampleCaptures#SIP_and_RTP |
| 33 | https://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=rtp_example.raw.gz |
| 34 | |
| 35 | decode -d rtp rtp_example.pcap |
| 36 | |
| 37 | Output: |
| 38 | |
| 39 | rtp 2016-09-21 23:44:40 50.197.16.141:1195 -- 192.168.9.12:44352 ** |
| 40 | From: 50.197.16.141 (00:02:31:11:a5:97) to 192.168.9.12 (45:20:01:31:45:40) |
| 41 | Payload Type (7 bits): Dynamic |
| 42 | Sequence Number (16 bits): 58635 |
| 43 | Timestamp (32 bits): 1331328074 |
| 44 | Synchronization source (32 bits): 1948709792 |
| 45 | Arrival Time: 1474497880.6 --> 2016-09-21 22:44:40.604135 |
| 46 | Contributing source (32 bits): 1, Padding (1 bit): 1, Extension (1 bit): 1, Marker (1 bit): 0 |
| 47 | ** |
| 48 | rtp 2016-09-21 23:44:40 10.5.1.8:5086 -- 10.5.1.7:5070 ** |
| 49 | From: 10.5.1.8 (00:02:81:11:a0:d7) to 10.5.1.7 (45:00:20:c8:a3:26) |
| 50 | Payload Type (7 bits): PCMU - Audio - 8000 Hz - 1 Channel |
| 51 | Sequence Number (16 bits): 17664 |
| 52 | Timestamp (32 bits): 98240 |
| 53 | Synchronization source (32 bits): 1671095215 |
| 54 | Arrival Time: 1474497880.6 --> 2016-09-21 22:44:40.604160 |
| 55 | Contributing source (32 bits): 0, Padding (1 bit): 0, Extension (1 bit): 0, Marker (1 bit): 0 |
| 56 | ** |
| 57 | """, |
| 58 | output=AlertOutput(label=__name__) |
| 59 | ) |
| 60 | |
| 61 | def premodule(self): |
| 62 | self.payload_type = {0: "PCMU - Audio - 8000 Hz - 1 Channel", 1: "Reserved", 2: "Reserved", 3: "GSM - Audio - 8000 Hz - 1 Channel", |
nothing calls this directly
no test coverage detected