你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 网络与通信
使用Winpcap开发网络数据包分析器(四)
 

6 程序中使用Winpcap数据结构(变量)表

函数名

参数

说明

pcap_open_live(*devicename, 65536,1,-1,errbuf);

Devicename-设备名称

65536-捕获数据包最大长度

1-      设为混杂模式,这样可以捕获到所有的包

-1 超时,表示读一个包后多久返回,-1表示立即返回,无超时

errbuf-错误处理缓冲区

打开一个网络设备,该函数返回该设备的pcap_t指针

pcap_close(fp);

fp-设备指针

关闭已打开的网络设备

pcap_findalldevs(&alldevs, errbuf);

alldevs-pcap_if_t结构变量

errbuf-错误处理缓冲区

返回系统中所有的网络设备

 

pcap_next_ex( fp, &header, &pkt_data);

fp-设备指针

header-数据包头

pkt_data-数据包内容

该函数从网络设备中读取一个数据包

返回值为1:成功

        -1:发生错误

        0:超时

                      7 程序中使用的Winpcap函数表

三、           程序开发简介

为了实现程序的功能,需要定义如下一个结构:

struct packetstru

{

  unsigned short datalen;  //数据报长度

  unsigned char data[2000];  //数据内容

  unsigned long tick;  //捕获时间

  int clearflag;  //清除标志 0-不清除 1-清除

  int showflag;  //显示标志 0-不显示 1-显示

  struct packetstru *next;  //指向下一数据包

};

该结构定义了一个单链表,每个捕获到的数据包都保存在该链表中。

函数convertip用于将字符串表示的IP地址转换成4unsigned char

函数clear_packetlist用于从数据包链表中清除clearflag1的记录

函数GetMacAddress 用于取source表示的网络设备MAC地址

数据包捕获在如下的线程中完成

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089