词条 | packet_handler |
释义 | 函数名称:packet_handler(u_char *param , const struct pcap_pkthdr *header , const u_char *pkt_data) 函数功能:可进行包处理,与pcap_loop等回调函数联合使用进行抓包 参数说明: 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\", timestr, header->ts->tv_usec,header->len); } |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。