正在执行包捕获
本节描述用于执行包捕获的步骤。
要完成包捕获,请执行以下步骤:
- 确定哪个网络设备将是包捕获设备。 使用 pcap_lookupdev 子例程来执行此操作。
- 使用 pcap_open_live 子例程获取包捕获描述符。
- 选择包过滤器。 过滤表达式标识您有兴趣捕获的包。
- 使用 pcap_compile 子例程将包过滤器编译为过滤器程序。 包过滤表达式在 ASCII 字符串中指定。 请参阅 包捕获库过滤器表达式 以获取更多信息。
- 编译 BPF 过滤器程序后,使用 pcap_setfilter 子例程通知过滤器的包捕获设备。 如果要将包捕获数据保存到文件以供以后处理,请使用 pcap_dump_open 子例程打开先前保存的包捕获数据文件 (称为 savefile)。
- 使用 pcap_dispatch 或 pcap_loop 子例程在捕获的包中读取并调用子例程来处理这些包。 此处理子例程可以是 pcap_dump 子例程,如果要将包写入 savefile或您提供的某些其他子例程。
- 调用 pcap_close 子例程以清除打开的文件并释放包捕获描述符所使用的资源。