wincap的使用总结

本文介绍了如何使用wincap进行网络嗅探,主要包括两步:首先获取主机上所有网卡设备,然后在设备链表中选择目标设备进行监听。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做基于wincap的网络嗅探器,开始对wincap的嗅探过程有了了解

1.先获取当前主机上的所有网卡设备(如果之前对设备名了如指掌,那可以直接从 第二步 开始)

        if(pcap_findalldevs(&alldevs, errbuf) == -1)
        {
            fprintf(stderr,"Error in pcap_findalldevs_ex: %s\n", errbuf);
            exit(1);
        }
其中 alldevs 是个 pcap_if 结构体类型的指针,pcap_if结构体具体如下:
struct pcap_if {
	struct pcap_if *next;
	char *name;		/* name to hand to "pcap_open_live()" */
	char *description;	/* textual description of interface, or NULL */
	struct pcap_addr *addresses;
	bpf_u_int32 flags;	/* PCAP_IF_ interface flags */
};

2.从alldevs所指向的设备链表中找到想要监听的设备名也就是结构体中 pcap_if 中的name。然后使用下面这个

pcap_t* pcap_open_live (
const char * device,
int snaplen,
int promisc,
int to_ms,
char * ebuf) 
函数打开设备文件,其中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值