1:pcap_if_t:typedef struct pcap_if pcap_if_t 保存网卡基本信息的类型。通常用指针来使用,pcap_if_t *alldevs
struct pcap_if
{
struct pcap_if *next;//指向下一个网卡
char *name;//网卡的标识符,唯一识别一个网卡
char *description;//用来描述网卡
struct pcap_addr*address;//网卡的地址,包括IP地址,网络掩码,广播地址等,类型中的成员变量在后面会写到
bpf_u_int32 flags;//接口标志
}
2:
| int pcap_findalldevs_ex | ( | char * | source, | |
| struct pcap_rmtauth * | auth, | |||
| pcap_if_t ** | alldevs, | |||
| char * | errbuf | |||
| ) |
参数:source:网卡设备的源位置 如:rpcap://host:port' ;auth来表示是否是远程主机,要是本地的则设置为NULL;alldevs用来保存设备的指针;errbuf用来保存出错误时的信息
返回值:0代表成功,-1代表不成功
通常用这个方法来获得1中的pcap_if_t的指针;
eg:
pcap_if_t *alldevs;
char errbuf[16];
pcap_findalldevs_ex(PCAP_SRC_IF_STRING,NULL,&alldevs,errbuf)
#define PCAP_SRC_IF_STRING "rpcap://"
3:int pcap_findalldevs(pcap_if_t **alldevs,char *errbuf)
功能:获得指向网卡的指针,与2一样,但只能获得本地网卡
参数: 以2中一样
返回值:0成功,-1不成功
4:void pcap_freealldevs(pcap_if_t**alldevs)
功能:释放所指的设备
参数:alldevs指向设备的pcap_if_t类型
无返回值
本文介绍了pcap接口的基础知识,包括pcap_if_t结构体用于存储网卡信息,pcap_findalldevs_ex和pcap_findalldevs函数获取网卡设备指针,以及pcap_freealldevs函数释放资源。通过这些函数,开发者可以有效地管理和操作网络接口。
——网卡类型,获得指向网卡的指针,释放网卡&spm=1001.2101.3001.5002&articleId=56842479&d=1&t=3&u=d294e2fa33f74902b4805708f80a8dde)
1481

被折叠的 条评论
为什么被折叠?



