linux有l(wèi)ibpcap庫嗎

linux中有l(wèi)ibpcap庫;libpcap庫是一個網(wǎng)絡(luò)數(shù)據(jù)包捕獲函數(shù)庫,提供了一個API,用于直接從Unix衍生操作系統(tǒng)的數(shù)據(jù)鏈路層捕獲數(shù)據(jù)包,libpcap庫被流行的數(shù)據(jù)包捕獲應(yīng)用程序使用,使它們能夠在幾乎任何風(fēng)格的Unix上運行。

linux有l(wèi)ibpcap庫嗎

本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

linux有l(wèi)ibpcap庫

概述

libpcap 是一個網(wǎng)絡(luò)數(shù)據(jù)包捕獲函數(shù)庫,功能非常強大,Linux 下著名的 tcpdump 就是以它為基礎(chǔ)的。

Libpcap是一個開源C庫,它提供了一個API,用于直接從Unix衍生操作系統(tǒng)的數(shù)據(jù)鏈路層捕獲數(shù)據(jù)包。它被流行的數(shù)據(jù)包捕獲應(yīng)用程序(如tcpdump和snort)使用,使它們能夠在幾乎任何風(fēng)格的Unix上運行。

libpcap主要的作用

1)捕獲各種數(shù)據(jù)包,列如:網(wǎng)絡(luò)流量統(tǒng)計。

2)過濾網(wǎng)絡(luò)數(shù)據(jù)包,列如:過濾掉本地上的一些數(shù)據(jù),類似防火墻。

3)分析網(wǎng)絡(luò)數(shù)據(jù)包,列如:分析網(wǎng)絡(luò)協(xié)議,數(shù)據(jù)的采集。

4)存儲網(wǎng)絡(luò)數(shù)據(jù)包,列如:保存捕獲的數(shù)據(jù)以為將來進行分析。

libpcap 的安裝

linux有l(wèi)ibpcap庫嗎

利用 libpcap 函數(shù)庫開發(fā)應(yīng)用程序的基本步驟:

1、打開網(wǎng)絡(luò)設(shè)備

2、設(shè)置過濾規(guī)則

3、捕獲數(shù)據(jù)

4、關(guān)閉網(wǎng)絡(luò)設(shè)備

libpcap 的抓包框架

  • pcap_lookupdev():函數(shù)用于查找網(wǎng)絡(luò)設(shè)備,返回可被 pcap_open_live() 函數(shù)調(diào)用的網(wǎng)絡(luò)設(shè)備名指針。

  • pcap_lookupnet():函數(shù)獲得指定網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)號和掩碼。

  • pcap_open_live(): 函數(shù)用于打開網(wǎng)絡(luò)設(shè)備,并且返回用于捕獲網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)據(jù)包捕獲描述字。對于此網(wǎng)絡(luò)設(shè)備的操作都要基于此網(wǎng)絡(luò)設(shè)備描述字。

  • pcap_compile(): 函數(shù)用于將用戶制定的過濾策略編譯到過濾程序中。

  • pcap_setfilter():函數(shù)用于設(shè)置過濾器。

  • pcap_loop():函數(shù) pcap_dispatch() 函數(shù)用于捕獲數(shù)據(jù)包,捕獲后還可以進行處理,此外 pcap_next() 和 pcap_next_ex() 兩個函數(shù)也可以用來捕獲數(shù)據(jù)包。

  • pcap_close():函數(shù)用于關(guān)閉網(wǎng)絡(luò)設(shè)備,釋放資源。

推薦學(xué)習(xí):Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊10 分享