wincap网络数据包的捕获
来源:互联网 发布:淘宝企业店和旗舰店 编辑:程序博客网 时间:2024/09/21 06:28
使用wincap之前,你必须安装wincap安装包(内带头文件和链接库)
以下直接贴代码:
///////////////////////////////////////////////////////////////////////////// /*2014年7月10日08:23:06 bojie http://blog.csdn.net/bojie5744 */ /////////////////////////////////////////////////////////////////////////////struct pcap_pkthdr {struct timeval ts;bpf_u_int32 caplen;bpf_u_int32 len; };#include "pcap.h"#pragma comment(lib,"packet.lib") #pragma comment(lib,"wpcap.lib")void packet_handler( u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);int main(){pcap_if_t *alldevs;pcap_if_t *d;int inum;int i=0;pcap_t *adhandle;char errbuf[256];if ( pcap_findalldevs( &alldevs, errbuf ) == -1 ){fprintf_s( stderr, "pcap_findalldevs函数调用错误: %s/n", errbuf );exit(1);}for( d = alldevs; d; d = d->next ){printf_s( "%d. %s", ++i, d->name );if ( d->description )printf_s( " (%s)/n", d->description );}if(i == 0){printf_s( "搜索错误/n" );return -1;}printf_s( "选择网卡 (1-%d):", i );scanf_s( "%d", &inum ); if( inum < 1 || inum > i ) {printf_s( "输入有误,没有此网卡/n" );pcap_freealldevs( alldevs );return -1;}for( d = alldevs, i = 0; i < inum-1; d = d->next, i++ );if ( (adhandle= pcap_open_live(d->name, 65536, 1, 1000, errbuf ) ) == NULL){fprintf_s( stderr, "错误: %s /n", errbuf );pcap_freealldevs( alldevs );return -1;}printf_s( "开始监听网卡%s/n", d->description );pcap_freealldevs( alldevs );pcap_loop( adhandle, 0, packet_handler, NULL );return 0;}
void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data) { struct tm ltime; char timestr[20]; time_t t = (time_t )&header->ts.tv_sec; localtime_s( <ime, &t ); strftime( timestr, sizeof timestr, "%H:%M:%S", <ime); printf_s("%s,/t%.6d毫秒/t长度:%d/n", timestr, header->ts.tv_usec, header->len ); }
0 0
- wincap网络数据包的捕获
- 【笔记】wincap网络数据包的捕获——不使用回调的方式
- 【笔记】wincap网络数据包的捕获——使用函数回调
- 【笔记】wincap网络数据包的过滤与分析
- 捕获网络数据包
- 捕获网络数据包
- 【笔记】wincap发送数据包
- wincap数据包发送1
- WinCap数据包显示
- Linux 中的网络数据包捕获
- 网络数据包捕获与发送的多重实现
- 基于零拷贝的网络数据包捕获技术简述
- 基于零拷贝的网络数据包捕获技术简述
- 网络数据包捕获与发送的多重实现(转载)
- 网络数据包捕获与发送的多重实现 (学习)
- SmartSniff 简体中文版 – 小巧的网络数据包捕获工具
- 使用Fiddler捕获java的网络通信数据包
- tcpreplay回放捕获的数据包
- Android开发————Notification学习笔记
- 6、自动挂载Automounter——autofs软件包
- 初级数据持久化
- 关于VLAN
- 数据库
- wincap网络数据包的捕获
- 私有保护方式
- Java 23种设计模式
- UVa 10130 SuperSale(DP_01背包)
- C++: quick sort(快排序)
- Win7下面wubi安装Ubuntu14.04LTS
- SpringMVC+Spring3+hibernate4 开发环境搭建以及一个开发实例教程
- 职场生存术
- 一个河北小城的大学毕业季