【发布时间】:2014-10-27 05:53:29
【问题描述】:
我需要将使用 recvfrom() 接收的 rtp 数据包存储到 .pcap 文件中。
我试图打开一个扩展名为 .pcap 的文件并直接 fwrite 我收到的任何内容(即 void *buf),但是当我尝试使用wireshark 打开该文件时,它给出的错误语句为“无法理解” 我应该怎么做才能让它变得容易理解??
我使用的代码:
recvfrom(sockfd, buf, len, flags, (struct sockaddr *)&src_addr->ss, &src_addr->len);
fp=fopen("test.pcap","a+");
fprintf(fp, "%s",buf);
在 UDP 连接中,我如何接收 rtp 数据包并将其存储到可理解的 .pcap 文件中? 收到的 rtp pcakets 有什么需要补充的吗?
【问题讨论】:
-
不要为此使用
fprintf。使用fwrite。 -
您可以阅读libpcapFileFormat。 .pcap 文件需要一些文件头才能被wireshark 理解。
-
我试过 fprintf 和 fwrite,都没有工作@Qix