如何使用scapy分析sip / rtp数据包?

时间:2016-05-09 18:07:15

标签: python jython sip rtp scapy

我正在尝试使用scapy(而不是pyshark)库编写一个python脚本来实时捕获数据包并提取信息。知道如何使用scapy(jython / python)来分析sip / rtp数据包吗?

为了更清楚,我有一个示例代码来分析使用Pyshark的rtp数据包如下:

导入pyshark

导入重新

cap = pyshark.LiveCapture(interface ='en0',display_filter ='sip')

我的帽子:

  sip= str(i[3])
  print sip
  if re.search('sendonly',sip) != None:
    print ‘yes'

这个代码是否可以转移到Scapy而不是Pyshark具有相同的功能?

1 个答案:

答案 0 :(得分:1)

午,        首先,您需要一些数据包捕获 - 您可以在scapy中执行此操作 - 或使用Wireshark等。我现在假设您有一个PCAP(或PCAPNG)格式的文件。我还假设您在Wireshark中没有过滤 - 而是记录所有内容。

所以在Scapy里面你会写这样的东西......

from scapy.all import *
packets = rdpcap('filename.pcap')

但我无法在Scapy中看到SIP的 Layer 定义 - 这意味着您需要自己开发它。

不要惊慌 - 有人已经为自己补充了这一点。请查看https://github.com/cssaheel/dissectors/blob/master/sip.py

你应该顺利前往