使用winpcap编写sniffer,遇到的乖离
2016-03-04 11:00
295 查看
最近在使用winpcap编写sniffer,也就是抓包软件。
winpcap本身很完善了,从获取设备列表到接收数据包,都有例程代码。需要我们做的就是把接收到的数据包按照协议封装形式拆分。
其实问题都不是很大,但是遇到一些问题。
比如获取设备列表的代码
if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* auth is not needed */, &alldevs, errbuf) == -1)
这里的pcap_findalldevs_ex和PCAP_SRC_IF_STRING是编译器找不到的
虽然环境都配置好了,但是就是不行,如果环境没有配置好,为什么将这两个用相同功能函数提到就可以运行?!!!替代pcap_findalldevs
同样的问题出现在打开设备时
if ( (adhandle= pcap_open(d->name,65536,PCAP_OPENFLAG_PROMISCUOUS,1000, NULL, errbuf ) ) == NULL)
PCAP_OPENFLAG_PROMISCUOUS这就是设置混杂模式的一个宏定义 具体整数值 1,设置为1就可以使用。
pcap_open也是无法使用的pcap_open_live替代。
其实代码的整体的难点就在于使用帮助文档,代码整体思想根本没有任何难度。关于编译器出现的这种奇葩,我真心无语了。
相关文章推荐
- 深入浅出nodejs学习记录
- 如何给网页css样式起个好名字?
- JavaScript动态添加文本框
- html笔试题
- html5 web数据存储
- CSS 设计彻底研究(五)文字与图像
- javascript 高级程序设计 六
- JavaScript
- 来自w3cschool的jsp表单验证:JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证
- javascript中的Array对象
- 前端防御XSS
- js 滚动条的常用操作
- js 格式化相关的时间
- Video.js网页视频播放插件
- JavaScript Number() 函数
- Gson解析json对象
- JavaScript调试技巧之console.log()详解
- js中2个等号与3个等号的区别 & JS中的typeod运算符
- jQuery实现TAB选项卡切换特效简单演示
- 为了教学生,用js写的仿taobao的分类菜单效果