TCPDUMP/LIBPCAP 3-PCAP 中文手册(1)
SYNOPSIS
#include <pcap/pcap.h>DESCRIPTION
PCAP提供為抓包系統(tǒng)提供高級接口。網(wǎng)絡(luò)上的所有數(shù)據(jù)包,即使是發(fā)往其他主機(jī)的數(shù)據(jù)包,都可以通過這種機(jī)制訪問。它還支持將捕獲的數(shù)據(jù)包保存到“savefile”,和從“savefile”中讀取數(shù)據(jù)包。
Opening a capture handle for reading
調(diào)用 pcap_create()?時(shí)給定要捕獲的網(wǎng)絡(luò)或者其他接口名稱,以打開一個(gè)用于實(shí)時(shí)捕獲的句柄,并需要設(shè)置合適參數(shù);
調(diào)用 pcap_activate() 啟動句柄;
調(diào)用 pcap_findalldevs()?來獲得可被打開用于實(shí)時(shí)捕獲的設(shè)備列表;
調(diào)用 pcap_freealldevs()來釋放pcap_findalldevs() 返回的設(shè)備列表;
調(diào)用 pcap_lookupdev()?會返回列表中第一個(gè)非回環(huán)網(wǎng)絡(luò)接口(not 'loopback');
調(diào)用 pcap_open_offline() 時(shí)給定“savefile”的路徑名,以打開一個(gè)用于讀取網(wǎng)絡(luò)包的“savefile”的句柄;
調(diào)用 pcap_fopen_offline() 時(shí)給定一個(gè)來源于一個(gè)已打開的用于讀取的文件的 FILE * 參數(shù)(fopen),來為 "savefile" 建立句柄;
調(diào)用 pcap_open_dead()獲取(用在需要 pcap_t 類型作參數(shù)的函數(shù)中的) "fake" pcap_t,比如打開一個(gè) "savefile" 用于寫的函數(shù) 和 編譯過濾器表達(dá)式函數(shù);
(原文:In order to get a ``fake'' pcap_t for use in routines that require a pcap_t as an argument, such as routines to open a ``savefile'' for writing and to compile a filter expression, call pcap_open_dead().)
pcap_create(), pcap_open_offline(), pcap_fopen_offline(), and pcap_open_dead() 返回一個(gè)指向 pcap_t 類型的指針, 該指針是句柄,用于從 "capture stream"?或者 "savefile" 中讀取數(shù)據(jù)包,用于查找與 "capture stream"?或者 “savefile” 相關(guān)的信息;
使用 pcap_close()關(guān)閉句柄;
Options that can be set on a capture handle
snapshot length
如果捕獲時(shí)抓取整個(gè) packet 內(nèi)容,需要更多 CPU 時(shí)間拷貝 packet 到應(yīng)用程序,更多的磁盤和網(wǎng)絡(luò)帶寬把 packet 寫入文件,更多的磁盤空間來保存 packet。如果你不需要整個(gè) packet 內(nèi)容 — 例如,如果你只對 packets 中 TCP 首部感興趣 — 你可以設(shè)置 "snapshot length" 為一個(gè)合適的數(shù)值。如果 "snapshot length" 被設(shè)置為snaplen,并且 snaplen 小于被捕獲的 packet 大小,那么只有 packet 的前 snaplen 長度的字節(jié)會被捕獲并作為 packet data 內(nèi)容。
在大部分并非所有網(wǎng)絡(luò)上,從 packet 捕獲所有可用數(shù)據(jù), 65535 長度的 "snapshot length" 足夠了。
調(diào)用 pcap_set_snaplen()來設(shè)置 "snapshot length"。
總結(jié)
以上是生活随笔為你收集整理的TCPDUMP/LIBPCAP 3-PCAP 中文手册(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言 判断完数
- 下一篇: zabbix中php信息缺失之后的安装