微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法将数据包信息从 FIFO 管道读入

如何解决有没有办法将数据包信息从 FIFO 管道读入

我试过使用类似的东西

Fifo = open(<file path to my fifo>,"r");
pcap = pcap_fopen_offline(Fifo,errbuf);

但是我得到了: “未知文件格式”作为我的 errbuf 中的错误,并且 pcap_fopen_offline 返回 NULL。有没有人知道解决这个问题的方法,或者有没有其他方法可以让 libpcap 与 libpcap 一起工作?

解决方法

来自man pcap_open_offline

pcap_open_offline() 被调用以打开一个“保存文件”以供阅读。

fname 指定要打开的文件的名称。该文件的格式与 tcpdump(1) 和 tcpslice(1) 使用的格式相同。

或者,您可以调用 pcap_fopen_offline() 从现有的开放流 fp 读取转储数据。请注意,在 Windows 上,该流应以二进制模式打开。

您在使用 tcpdump 数据吗?你在 Windows 上吗(模式应该是“rb”)?

附言你打错了,不应该是fopen而不是open吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。