.. | ||
README.md | ||
sip-session-initiation-protocol.md |
基本VoIP协议
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 你在一家网络安全公司工作吗?想要在HackTricks中看到你的公司广告吗?或者你想要获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFT收藏品The PEASS Family
- 获得官方PEASS和HackTricks周边产品
- 加入💬 Discord群组 或 Telegram群组 或 关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享你的黑客技巧。
信令协议
SIP(会话初始化协议)
这是业界标准,了解更多信息请查看:
{% content-ref url="sip-session-initiation-protocol.md" %} sip-session-initiation-protocol.md {% endcontent-ref %}
MGCP(媒体网关控制协议)
MGCP(媒体网关控制协议)是在RFC 3435中概述的信令和呼叫控制协议。它采用集中式架构,由三个主要组件组成:
- 呼叫代理或媒体网关控制器(MGC):MGCP架构中的主网关负责管理和控制媒体网关。它处理呼叫设置、修改和终止过程。MGC使用MGCP协议与媒体网关进行通信。
- 媒体网关(MG)或从属网关:这些设备在不同网络之间转换数字媒体流,例如传统的电路交换电话和分组交换的IP网络。它们由MGC管理,并执行从MGC接收到的命令。媒体网关可能包括转码、分组化和回声消除等功能。
- 信令网关(SG):这些网关负责在不同网络之间转换信令消息,实现传统电话系统(例如SS7)和基于IP的网络(例如SIP或H.323)之间的无缝通信。信令网关对于互操作性和确保呼叫控制信息在不同网络之间正确传递至关重要。
总之,MGCP将呼叫控制逻辑集中在呼叫代理中,简化了媒体和信令网关的管理,提供了更好的电信网络可扩展性、可靠性和效率。
SCCP(Skinny客户端控制协议)
Skinny客户端控制协议(SCCP)是Cisco Systems拥有的专有信令和呼叫控制协议。它主要用于Cisco Unified Communications Manager(以前称为CallManager)与Cisco IP电话或其他Cisco语音和视频终端之间的通信。
SCCP是一种轻量级协议,简化了呼叫控制服务器与终端设备之间的通信。它被称为“Skinny”是因为其极简设计和与其他VoIP协议(如H.323或SIP)相比较低的带宽要求。
基于SCCP的系统的主要组件包括:
- 呼叫控制服务器:通常为Cisco Unified Communications Manager的服务器,负责管理呼叫设置、修改和终止过程,以及其他电话功能,如呼叫转移、呼叫转接和呼叫保持。
- SCCP终端:这些设备可以是IP电话、视频会议设备或其他使用SCCP与呼叫控制服务器通信的Cisco语音和视频终端。它们向服务器注册,发送和接收信令消息,并按照呼叫控制服务器提供的指令进行呼叫处理。
- 网关:这些设备,如语音网关或媒体网关,负责在不同网络之间转换媒体流,如传统的电路交换电话和分组交换的IP网络。它们还可以包括其他功能,如转码或回声消除。
SCCP提供了一种简单高效的通信方法,用于Cisco呼叫控制服务器和终端设备之间的通信。然而,值得注意的是,SCCP是一种专有协议,可能会限制与非Cisco系统的互操作性。在这种情况下,其他标准的VoIP协议如SIP可能更合适。
H.323
H.323是一套用于多媒体通信的协议,包括语音、视频和数据会议,适用于基于分组交换网络(如基于IP的网络)的通信。它由国际电信联盟(ITU-T)开发,提供了一个全面的框架来管理多媒体通信会话。
H.323套件的一些关键组件包括:
- 终端:这些是支持H.323并能参与多媒体通信会话的终端设备,如IP电话、视频会议系统或软件应用程序。
- 网关:这些设备在不同网络之间转换媒体流,如传统的电路交换电话和分组交换的IP网络,实现H.323与其他通信系统的互操作性。它们还可以包括其他功能,如转码或回声消除。
- 网关控制器:这些是H.323网络中提供呼叫控制和管理服务的可选组件。它们执行地址转换、带宽管理和接入控制等功能,有助于管理和优化网络资源。
- 多点控制单元(MCU):这些设备通过管理和混合来自多个终端的媒体流,促进多点会议。MCU支持诸如视频布局控制、语音激活切换和持续存在等功能,使得能够举办具有多个参与者的大规模会议成为可能。
H.323支持一系列音频和视频编解码器,以及其他辅助服务,如呼叫转移、呼叫转接、呼叫保持和呼叫等待。尽管在VoIP的早期阶段广泛采用了H.323,但它逐渐被更现代、更灵活的协议(如会话初始化协议SIP)所取代,后者提供更好的互操作性和更容易的实施。然而,H.323仍在许多遗留系统中使用,并继续得到各种设备供应商的支持。
IAX(Inter Asterisk eXchange)
IAX(Inter-Asterisk eXchange)是一种主要用于Asterisk PBX(私有分支交换)服务器和其他VoIP设备之间通信的信令和呼叫控制协议。它由Asterisk开源PBX软件的创建者Mark Spencer开发,作为SIP和H.323等其他VoIP协议的替代方案。
IAX以其简单性、高效性和易于实现而闻名。IAX的一些关键特点包括:
- 单个UDP端口:IAX使用单个UDP端口(4569)用于信令和媒体流量,简化了防火墙和NAT穿越,使其在各种网络环境中更容易部署。
- 二进制协议:与SIP等基于文本的协议不同,IAX是一种二进制协议,减少了带宽消耗,并使其在传输信令和媒体数据时更高效。
- 干线连接:IAX支持干线连接,允许将多个呼叫合并为单个网络连接,减少开销并提高带宽利用率。
- 本地加密:IAX内置支持加密,使用RSA等方法进行密钥交换和使用AES进行媒体加密,提供端点之间的安全通信。
- 点对点通信:IAX可用于端点之间的直接通信,无需中央服务器,实现更简单、更高效的呼叫路由。
尽管IAX具有诸多优点,但它也存在一些限制,例如其主要关注Asterisk生态系统,与SIP等更成熟的协议相比,采用程度较低。因此,在与非Asterisk系统或设备的互操作性方面,IAX可能不是最佳选择。然而,对于在Asterisk环境中工作的人来说,IAX提供了一种强大而高效的VoIP通信解决方案。
传输和传输协议
SDP(会话描述协议)
SDP(会话描述协议)是一种用于描述在IP网络上进行的多媒体会话(如语音、视频或数据会议)特征的基于文本的格式。它由互联网工程任务组(IETF)开发,并在RFC 4566中定义。SDP不处理实际的媒体传输或会话建立,而是与其他信令协议(如SIP(会话初始化协议))结合使用,以协商和交换有关媒体流及其属性的信息。
SDP的一些关键元素包括:
- 会话信息:SDP描述多媒体会话的详细信息,包括会话名称、会话描述、开始时间和结束时间。
- 媒体流:SDP定义媒体流的特征,如媒体类型(音频、视频或文本)、传输协议(如RTP或SRTP)和媒体格式(如编解码器信息)。
- 连接信息:SDP提供有关应发送或接收媒体的网络地址(IP地址)和端口号的信息。
- 属性:SDP支持使用属性提供有关会话或媒体流的附加可选信息。属性可用于指定各种功能,如加密密钥、带宽要求或媒体控制机制。
SDP通常在以下过程中使用:
- 发起方创建所提议的多媒体会话的SDP描述,包括媒体流及其属性的详细信息。
- SDP描述嵌入在信令协议消息(如SIP或RTSP)中,发送给接收方。
- 接收方处理SDP描述,并根据其能力接受、拒绝或修改所提议的会话。
- 最终的SDP描述作为信令协议消息的一部分发送回发起方,完成协商过程。
SDP的简单性和灵活性使其成为在各种通信系统中描述多媒体会话的广泛采用标准,在建立和管理IP网络上的实时多媒体会话中起着关键作用。
RTP / RTCP / SRTP / ZRTP
- RTP(实时传输协议):RTP是一种专为在IP网络上传输音频、视频数据或其他实时媒体的网络协议。由IETF开发,并在RFC 3550中定义,RTP通常与SIP和H.323等信令协议一起使用,以实现多媒体通信。RTP提供了媒体流的同步、排序和时间戳机制,有助于确保流畅和及时的媒体播放。
- RTCP(实时传输控制协议):RTCP是RTP的伴随协议,用于监视服务质量(QoS)并提供有关媒体流传输的反馈。与RTP在同一RFC 3550中定义,RTCP定期在RTP会话的参与者之间交换控制数据包。它共享的信息包括丢包、抖动和往返时间等,有助于诊断和适应网络条件,提高整体媒体质量。
- SRTP(安全实时传输协议):SRTP是RTP的扩展,为媒体流提供加密、消息认证和重放保护,确保敏感音频和视频数据的安全传输。在RFC 3711中定义,SRTP使用AES等加密算法进行加密,使用HMAC-SHA1进行消息认证。SRTP通常与安全的信令协议(如SIP over TLS)结合使用,以在多媒体通信中提供端到端的安全性。
- ZRTP(Zimmermann实时传输协议):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 🎥
- 您在网络安全公司工作吗?您想在HackTricks中看到您的公司广告吗?或者您想获得PEASS的最新版本或以PDF格式下载HackTricks吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品——The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入 💬 Discord 群组 或 Telegram 群组 或 关注我的 Twitter 🐦@carlospolopm。
- 通过向 hacktricks 仓库 和 hacktricks-cloud 仓库 提交 PR 来分享你的黑客技巧。