hacktricks/network-services-pentesting/pentesting-voip/basic-voip-protocols
2023-08-03 19:12:22 +00:00
..
README.md Translated to Chinese 2023-08-03 19:12:22 +00:00
sip-session-initiation-protocol.md Translated to Chinese 2023-08-03 19:12:22 +00:00

基本VoIP协议

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

信令协议

SIP会话初始化协议

这是业界标准,了解更多信息请查看:

{% content-ref url="sip-session-initiation-protocol.md" %} sip-session-initiation-protocol.md {% endcontent-ref %}

MGCP媒体网关控制协议

MGCP媒体网关控制协议是在RFC 3435中概述的信令呼叫控制协议。它采用集中式架构,由三个主要组件组成:

  1. 呼叫代理或媒体网关控制器MGCMGCP架构中的主网关负责管理和控制媒体网关。它处理呼叫设置、修改和终止过程。MGC使用MGCP协议与媒体网关进行通信。
  2. 媒体网关MG或从属网关:这些设备在不同网络之间转换数字媒体流例如传统的电路交换电话和分组交换的IP网络。它们由MGC管理并执行从MGC接收到的命令。媒体网关可能包括转码、分组化和回声消除等功能。
  3. 信令网关SG:这些网关负责在不同网络之间转换信令消息实现传统电话系统例如SS7和基于IP的网络例如SIP或H.323)之间的无缝通信。信令网关对于互操作性和确保呼叫控制信息在不同网络之间正确传递至关重要。

总之MGCP将呼叫控制逻辑集中在呼叫代理中简化了媒体和信令网关的管理提供了更好的电信网络可扩展性、可靠性和效率。

SCCPSkinny客户端控制协议

Skinny客户端控制协议SCCP是Cisco Systems拥有的专有信令和呼叫控制协议。它主要用于Cisco Unified Communications Manager以前称为CallManager与Cisco IP电话或其他Cisco语音和视频终端之间的通信。

SCCP是一种轻量级协议简化了呼叫控制服务器与终端设备之间的通信。它被称为“Skinny”是因为其极简设计和与其他VoIP协议如H.323或SIP相比较低的带宽要求。

基于SCCP的系统的主要组件包括

  1. 呼叫控制服务器通常为Cisco Unified Communications Manager的服务器负责管理呼叫设置、修改和终止过程以及其他电话功能如呼叫转移、呼叫转接和呼叫保持。
  2. SCCP终端这些设备可以是IP电话、视频会议设备或其他使用SCCP与呼叫控制服务器通信的Cisco语音和视频终端。它们向服务器注册发送和接收信令消息并按照呼叫控制服务器提供的指令进行呼叫处理。
  3. 网关这些设备如语音网关或媒体网关负责在不同网络之间转换媒体流如传统的电路交换电话和分组交换的IP网络。它们还可以包括其他功能如转码或回声消除。

SCCP提供了一种简单高效的通信方法用于Cisco呼叫控制服务器和终端设备之间的通信。然而值得注意的是SCCP是一种专有协议可能会限制与非Cisco系统的互操作性。在这种情况下其他标准的VoIP协议如SIP可能更合适。

H.323

H.323是一套用于多媒体通信的协议包括语音、视频和数据会议适用于基于分组交换网络如基于IP的网络的通信。它由国际电信联盟ITU-T开发提供了一个全面的框架来管理多媒体通信会话。

H.323套件的一些关键组件包括:

  1. 终端这些是支持H.323并能参与多媒体通信会话的终端设备如IP电话、视频会议系统或软件应用程序。
  2. 网关这些设备在不同网络之间转换媒体流如传统的电路交换电话和分组交换的IP网络实现H.323与其他通信系统的互操作性。它们还可以包括其他功能,如转码或回声消除。
  3. 网关控制器这些是H.323网络中提供呼叫控制和管理服务的可选组件。它们执行地址转换、带宽管理和接入控制等功能,有助于管理和优化网络资源。
  4. 多点控制单元MCU这些设备通过管理和混合来自多个终端的媒体流促进多点会议。MCU支持诸如视频布局控制、语音激活切换和持续存在等功能使得能够举办具有多个参与者的大规模会议成为可能。

H.323支持一系列音频和视频编解码器以及其他辅助服务如呼叫转移、呼叫转接、呼叫保持和呼叫等待。尽管在VoIP的早期阶段广泛采用了H.323但它逐渐被更现代、更灵活的协议如会话初始化协议SIP所取代后者提供更好的互操作性和更容易的实施。然而H.323仍在许多遗留系统中使用,并继续得到各种设备供应商的支持。

IAXInter Asterisk eXchange

IAXInter-Asterisk eXchange是一种主要用于Asterisk PBX私有分支交换服务器和其他VoIP设备之间通信的信令和呼叫控制协议。它由Asterisk开源PBX软件的创建者Mark Spencer开发作为SIP和H.323等其他VoIP协议的替代方案。

IAX以其简单性、高效性和易于实现而闻名。IAX的一些关键特点包括

  1. 单个UDP端口IAX使用单个UDP端口4569用于信令和媒体流量简化了防火墙和NAT穿越使其在各种网络环境中更容易部署。
  2. 二进制协议与SIP等基于文本的协议不同IAX是一种二进制协议减少了带宽消耗并使其在传输信令和媒体数据时更高效。
  3. 干线连接IAX支持干线连接允许将多个呼叫合并为单个网络连接减少开销并提高带宽利用率。
  4. 本地加密IAX内置支持加密使用RSA等方法进行密钥交换和使用AES进行媒体加密提供端点之间的安全通信。
  5. 点对点通信IAX可用于端点之间的直接通信无需中央服务器实现更简单、更高效的呼叫路由。

尽管IAX具有诸多优点但它也存在一些限制例如其主要关注Asterisk生态系统与SIP等更成熟的协议相比采用程度较低。因此在与非Asterisk系统或设备的互操作性方面IAX可能不是最佳选择。然而对于在Asterisk环境中工作的人来说IAX提供了一种强大而高效的VoIP通信解决方案。

传输和传输协议

SDP会话描述协议

SDP会话描述协议是一种用于描述在IP网络上进行的多媒体会话如语音、视频或数据会议特征的基于文本的格式。它由互联网工程任务组IETF开发,并在RFC 4566中定义。SDP不处理实际的媒体传输或会话建立而是与其他信令协议SIP会话初始化协议)结合使用,以协商和交换有关媒体流及其属性的信息。

SDP的一些关键元素包括

  1. 会话信息SDP描述多媒体会话的详细信息包括会话名称、会话描述、开始时间和结束时间。
  2. 媒体流SDP定义媒体流的特征如媒体类型音频、视频或文本、传输协议如RTP或SRTP和媒体格式如编解码器信息
  3. 连接信息SDP提供有关应发送或接收媒体的网络地址IP地址和端口号的信息。
  4. 属性SDP支持使用属性提供有关会话或媒体流的附加可选信息。属性可用于指定各种功能如加密密钥、带宽要求或媒体控制机制。

SDP通常在以下过程中使用

  1. 发起方创建所提议的多媒体会话的SDP描述包括媒体流及其属性的详细信息。
  2. SDP描述嵌入在信令协议消息如SIP或RTSP发送给接收方。
  3. 接收方处理SDP描述并根据其能力接受、拒绝或修改所提议的会话。
  4. 最终的SDP描述作为信令协议消息的一部分发送回发起方完成协商过程。

SDP的简单性和灵活性使其成为在各种通信系统中描述多媒体会话的广泛采用标准在建立和管理IP网络上的实时多媒体会话中起着关键作用。

RTP / RTCP / SRTP / ZRTP

  1. RTP实时传输协议RTP是一种专为在IP网络上传输音频、视频数据或其他实时媒体的网络协议。由IETF开发,并在RFC 3550中定义RTP通常与SIP和H.323等信令协议一起使用以实现多媒体通信。RTP提供了媒体流的同步排序时间戳机制,有助于确保流畅和及时的媒体播放。
  2. RTCP实时传输控制协议RTCP是RTP的伴随协议用于监视服务质量QoS并提供有关媒体流传输的反馈。与RTP在同一RFC 3550中定义RTCP定期在RTP会话的参与者之间交换控制数据包。它共享的信息包括丢包、抖动和往返时间等,有助于诊断和适应网络条件,提高整体媒体质量。
  3. SRTP安全实时传输协议SRTP是RTP的扩展为媒体流提供加密消息认证重放保护,确保敏感音频和视频数据的安全传输。在RFC 3711中定义SRTP使用AES等加密算法进行加密使用HMAC-SHA1进行消息认证。SRTP通常与安全的信令协议如SIP over TLS结合使用以在多媒体通信中提供端到端的安全性。
  4. ZRTPZimmermann实时传输协议ZRTP是一种为RTP媒体流提供端到端加密的密码密钥协商协议。由PGP的创建者Phil Zimmermann开发ZRTP在RFC 6189中描述。与依赖信令协议进行密钥交换的SRTP不同ZRTP设计为独立于信令协议工作。它使用Diffie-Hellman密钥交换在通信双方之间建立共享密钥无需先前的信任或公钥基础设施PKI。ZRTP还包括诸如**短认证字符串SAS**等功能,以防止中间人攻击。

这些协议在在IP网络上传递和保护实时多媒体通信中发挥着重要作用。RTP和RTCP处理实际的媒体传输和质量监控SRTP和ZRTP确保传输的媒体免受窃听、篡改和重放攻击。

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥