如何ohrwurm使用的libpcap和arpspoof腐败RTP流量?(How does ohrw

2019-10-30 04:23发布

我想评价一个名为工具ohrwurm ,号称能够腐败RTP流的两个SIP端点之间。 通过阅读它的源代码 ,我不相信它的工作原理,想别人的意见之前,我尝试一下。

它的前提很简单:

  • 假设端点A的IP地址为192.168.0.11,和端点B的IP地址为192.168.0.22。
  • 关于A和B两个SSH会话执行以下命令同一子网中的第三个框C:
    • arpspoof 192.168.0.11
    • arpspoof 192.168.0.22
  • 执行ohrwurm。

考虑看看ohrwurm的源代码,它执行以下操作:

  • 设置的/ proc / SYS /网/的IPv4 / IP_FORWARD为1。
  • 使用处于混杂模式的libpcap拦截上面的两个箱子之间的所有IP数据包。
  • 对于那些SIP数据包,抢RTP端口号码的开出。
  • 对于那些UDP和两个RTP端口之间早抓起,模糊化的RTP数据包的内容。

下面是我不明白不过。 我承认这arpspoof'ing会引起A和B之间的所有IP流量通过C.旅行此外,通过设置的/ proc / SYS /网/的IPv4 / IP_FORWARD 1我们得到内核转发此IP流量为正确我们。

但我认为libpcap的是只读的? 这怎么可能改变我们在原位混杂模式嗅探数据包? 你会发现在ohrwurm.c线401 ,我们正在试图连砸RTCP包! 这可能吗?

我什么都不知道libpcap的,并且很想知道更多! 请教育我。 谢谢。

Answer 1:

Libpcap库是不能修改的数据包。 它只能用来进行审计。 你可以把它想象为基础,从界面到内核得到的数据包。

Arpspoof需要其他库,如“LIBNET”进行ARP欺骗。 http://arpspoof.sourceforge.net/ (请参阅“链接arpspoof相关”)

LIBNET介绍,它提供多种协议访问的API。 它可以用来创建任意数据包或动态修改的人。 http://libnet.sourceforge.net/

一个很好的教程,可以发现: http://networksecurity.org.ua/0596007949/networkst-chp-11-sect-4.html



文章来源: How does ohrwurm use libpcap and arpspoof to corrupt RTP traffic?