winpcap packet_handler()方法详解

eggbucket 2011-07-28 08:54:13
void packet_handler(u_char* packets,const struct pcap_pkthdr *header,const u_char *data)
{

}

在这个方法中如何得到 包的内容!

还有就是这个方法的参数的意思!!谢谢!!

...全文
742 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xp9802 2012-04-08
  • 打赏
  • 举报
回复 1
u_char *param:数据包存储的文件指针   struct pcap_pkthdr * header: 并非是数据包的指针,只是与数据包捕获驱动有关的一个header ,是堆文件包的结构体首部指针。可以得到时间值,数据包长度。   const_char * pkt_data:指向数据包内容的指针,包括了协议头,可以经过计算获得IP数据包头部的位置, UDP首部的位置。   函数实现:   void packet_handler(u_char *param, const struct pcap_pkthdr *header,const u_char *pkt_data)   {   struct tm *ltime;   char timestr[16];   time_t local_tv_sec;   /* 将时间戳转换成可识别的格式 */   local_tv_sec = header->ts->tv_sec;   ltime=localtime(&local_tv_sec);   strftime( timestr, sizeof timestr, "%H:%M:%S", ltime);   printf("%s,%.6d len:%d\n", timestr, header->ts->tv_usec,header->len);   }
bingfenghzy 2011-10-17
  • 打赏
  • 举报
回复
也在有这样的疑问,同问,望高手来帮助。

10,613

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧