基于winpcap的抓包分析工具

0x00

这几天要帮老师做一个基于Winpcap的工具, 然后就开始瞎搞Winpcap了。官方的文档很给力啊, 而且还有一个中文版的,中文版 地址请戳这里示例的代码也挺不错的, 可以直接拿来做测试, 但是其中也有出现一些问题

0x01

下面是我在学习中碰到的一些问题

a.

    pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1
    //在执行这条语句时报错说没有定义, 然后去官方文档找这个, 发现
    //在remote-ext.h中有定义了, 但是
    //在头文件中有这么几行
    #ifndef HAVE_REMOTE 
#error Please do not include this file directly. Just  
define HAVE_REMOTE and then include pcap.h 
#endif 
    //于是 就在c中添加#define HAVE_REMOTE , 但是注意这个必须在#include 前添加定义。 

暂时只有那么点, 如果写代码过程中有问题再贴出来

0x02

花了一点时间把老师的项目写完了,有些东西就不展示了,贴几个
函数就差不多了

    int  startAnalyst();
int  opendev(); 
int  setfilter(pcap_t * ,pcap_if_t *,pcap_if_t *); 
int  dumpfiles(pcap_t* ,pcap_if_t * , pcap_if_t *); 
int  checknum(int, pcap_if_t *); 
int  doCompose(char *); // this function is get what you send ;  
int  doRead(char *);

int  getReadSubject(char *, char*);  //src ,des   
int  getReadTitle(char *, char *);
int  getReadTo(char *, char *);
int  getReadFrom(char *, char *);

int  getComposeSubject(char *, char *); //src , des 
int  getComposeTitle(char *, char *); //src ,des 
int  getComposeTo(char *, char *);// src , des 
int  getComposeFrom(char *, char *); //src , des
int  catchPackage();  

void printMsg(char *, char *, char *, char *);

另外想说的是,winpcap的官方文档还是有很多不错的内容的, 基本上都可以拿来直接用。
我在使用内嵌循环抓包的时候,使用了一个static 数来记录抓到的包, 因为只是一个demo,所以只要有一定的数量就可以了。
还有嘛,就是这次联系除了学习了一下winpcap的相关内容其实就是在代码风格上更加有层次感和模块化了吧。
最后 感觉写在这前几行的函数声明其实可以协商参数名的, 当然,如果只是自己看, 我觉得不写也没关系。
另外想要源码的童鞋可以私信我。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章