wincap的使用总结
最近在做基于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)
函数打开设备文件,其中返回值 pcap_t 是打开的抓取实例的描述符
if ((fp = pcap_open_live(d->name,//要抓取的网卡的设备名称65536, //每次抓取包的长度 1, //非0即为将网卡设置为混乱模式 1000, //接收数据的等待时间 errbuf //错误存放 )) == NULL){fprintf(stderr,"\nError opening adapter\n");return -1;}
3.获取到了抓取实例的描述符之后,就可以使用函数pcap_next_ex来抓取数据包了
int pcap_next_ex (pcap_t *p,
struct pcap_pkthdr ** pkt_header,
const u_char ** pkt_data
)
其中pkt_header 结构体为:
struct pcap_pkthdr {struct timeval ts; //时间戳bpf_u_int32 caplen; //在线抓包转到的长度bpf_u_int32 len; //掉线时抓包的长度
};
其中pkt_data就是数据包,然后分析其中的数据就可以了
wincap的使用总结相关推荐
- WinPcap笔记(1):VisualStudio2015配置WinCap
这里介绍Visual Studio2015配置WinCap环境,Visual Studio2013相同. 首先是下载与安装WinCap,这里不描述.下面是整个的配置过程. 1.新建项目 文件-> ...
- WinCap 使用心得
最近需要设计网络抓包方面的软件,WinCap在这方面还是挺有名气的,于是下载了一个WinCap 4.02做了点研究由于本人一直在用MFC做一些设计,所以这里就MFC下使用WinCap4.02写点心得, ...
- WinCap网络开发库入门(转)
Winpcap是一个强大的网络开发库,可以实现许多功能:获取可用的网络适配器:获取指定适配器信息(比如名称和描述信息):捕获指定网卡的数据封包:发送数据封包:过滤捕获的包以获取特定包等. 文章源地址: ...
- wincap问题之二(网卡检测)
我们一般通过pcap_findalldevs检测计算机上上有多少片网卡,pcap_findalldevs,但是只能检测到启用的网卡,那麽问题来了,第一种情况,pcap_findalldevs调用时网卡 ...
- 手动安装wincap方法
[转载]WinPcap3.1的手动安装方法 文章作者:RIVULET 信息来源:rivulet's blog(www.rivuletblog.bokee.com ) 1,安装需要用到以下文件,Pack ...
- Win7 64位下配置Qt5.3和Wincap
最近在学网络编程,想在windows下用Qt做个网络抓包工具,就要用到WinPcap,而我的电脑的系统是Win7 64位,qt版本是Qt 5.3.1 for Windows 64-bit (VS ...
- PDO防注入原理分析以及使用PDO的注意事项 (转)
我们都知道,只要合理正确使用PDO,可以基本上防止SQL注入的产生,本文主要回答以下两个问题: 为什么要使用PDO而不是mysql_connect? 为何PDO能防注入? 使用PDO防注入的时候应该特 ...
- [转]PDO防注入原理分析以及使用PDO的注意事项
原文:http://zhangxugg-163-com.iteye.com/blog/1835721 好文章不得不转. 我们都知道,只要合理正确使用PDO,可以基本上防止SQL注入的产生,本文主要回答 ...
- java jpcap 抓包并分析_java利用Jpcap实现抓包
1.准备工作 Jpcap是一个可以监控当前网络情况的中间件,弥补了java对网络层以下的控制, 可以达到抓包的效果. Jpcap运行需要依赖winCap和Jpcap的dll动态库和Jpcap.jar包 ...
- Dynamips/Dynagen模拟CISCO路由环境
今天将<网络互连技术>--路由,交换与远程访问实训教程的实验书拿出来了看了部门. 搭建了一个基于DYNAGEN的虚拟环境. 归纳一下大约步骤: ~~~~~~~~~~~~~~ 一,在WIND ...
最新文章
- iPhone 6c配置和5s相近 4寸屏基本确定
- java安全技术-Base64编码与解码
- 理解文档对象模型(3)
- 内置指令-cloak // 内置指令-once // 内置指令-pre
- “金牛智慧城市”APP上线 一键可查找公厕和公园
- Angular6笔记之全局组件
- 穷爸爸与富爸爸,背后思维的差异
- 多线程中使用CheckForIllegalCrossThreadCalls = false访问窗口
- sigar取得进程信息
- Typora数学公式大全
- ADAMS搭建控制系统教程:偏心连杆机构的转速控制
- SKLEARN实例:【用随机森林回归填补缺失值】
- 吃货必看!全新技术告诉我们未来吃什么
- 信息学奥赛一本通|1196:踩方格
- Combining Character
- 如何整店导出天猫店铺商品主图及详情图
- 三、常规Dos命令附图
- 关于洛谷哪些题目(入门)
- 华为鸿蒙os3.0评测,华为鸿蒙OS威力初显!实测体验比EMUI更好 功耗却更低 惊喜还有很多...
- Unity中子弹反弹效果的制作