请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

既然传输的RTCP包是经过加密的,那为什么抓包能够看到每一个字段的值是什么?

mediasoup发出去的RTCP包是经过加密的,代码如下:

void WebRtcTransport::SendRtcpCompoundPacket(RTC::RTCP::CompoundPacket* packet)
{
	...

	// 对RTCP数据进行加密。
	if (!this->srtpSendSession->EncryptRtcp(&data, &len))
}

mediasoup收到的RTCP包是经过加密的,所以才需要解密,代码如下:

inline void WebRtcTransport::OnRtcpDataReceived(...)
{
	...

	// Decrypt the SRTCP packet.
	// 解密rtcp packet。
	if (!this->srtpRecvSession->DecryptSrtcp(const_cast<uint8_t*>(data), &len))
}

然而Wireshark抓取的RTCP包可以看到每一个字段的值:
mediasoup发送的RTCP-SR包:
图片描述
mediasoup接收的RTCP-RR包:
图片描述
请问这是为什么?

正在回答 回答被采纳积分+3

1回答

李超 2022-08-31 10:44:30

RTCP header是不加密的,只对内容加密

0 回复 有任何疑惑可以回复我~
  • 提问者 GavinXu89 #1
    从抓包上看,RTCP header和内容都没有加密。
    回复 有任何疑惑可以回复我~ 2022-10-22 11:13:52
  • 李超 #2
    你自己把包取出来,组装到一起看能不能进行解码;难道包里的内容你能看出是否加密来?
    回复 有任何疑惑可以回复我~ 2022-10-23 03:19:05
  • 李超 #3
    所以RTCP的内容,要和发送的内容做对比,你测试时,发送的数据记录下来,然后抓包,在根据包好看抓的的内容,之后比较内容是否一致
    回复 有任何疑惑可以回复我~ 2022-10-23 03:22:26
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号