linux中有libpcap库;libpcap库是一个网络数据包捕获函数库,提供了一个API,用于直接从Unix衍生操作系统的数据链路层捕获数据包,libpcap库被流行的数据包捕获应用程序使用,使它们能够在几乎任何风格的Unix上运行。
本教程操作环境:linux7.3系统、Dell G3电脑。
linux有libpcap库
概述
libpcap 是一个网络数据包捕获函数库,功能非常强大,Linux 下著名的 tcpdump 就是以它为基础的。
Libpcap是一个开源C库,它提供了一个API,用于直接从Unix衍生操作系统的数据链路层捕获数据包。它被流行的数据包捕获应用程序(如tcpdump和snort)使用,使它们能够在几乎任何风格的Unix上运行。
libpcap主要的作用
1)捕获各种数据包,列如:网络流量统计。
2)过滤网络数据包,列如:过滤掉本地上的一些数据,类似防火墙。
3)分析网络数据包,列如:分析网络协议,数据的采集。
4)存储网络数据包,列如:保存捕获的数据以为将来进行分析。
libpcap 的安装
利用 libpcap 函数库开发应用程序的基本步骤:
1、打开网络设备
2、设置过滤规则
3、捕获数据
4、关闭网络设备
libpcap 的抓包框架
pcap_lookupdev()
:函数用于查找网络设备,返回可被 pcap_open_live() 函数调用的网络设备名指针。pcap_lookupnet
():函数获得指定网络设备的网络号和掩码。pcap_open_live
(): 函数用于打开网络设备,并且返回用于捕获网络数据包的数据包捕获描述字。对于此网络设备的操作都要基于此网络设备描述字。pcap_compile
(): 函数用于将用户制定的过滤策略编译到过滤程序中。pcap_setfilter
():函数用于设置过滤器。pcap_loop
():函数 pcap_dispatch() 函数用于捕获数据包,捕获后还可以进行处理,此外 pcap_next() 和 pcap_next_ex() 两个函数也可以用来捕获数据包。pcap_close
():函数用于关闭网络设备,释放资源。
推荐学习:Linux视频教程
以上就是linux有libpcap库吗的详细内容,更多请关注php中文网其它相关文章!