首页 > 编程语言 > 详细

C++下,使用libpcap进行抓包

时间:2014-02-15 18:51:18      阅读:1760      评论:0      收藏:0      [点我收藏+]

使用libpcap进行抓包,后续分析(未完待续)

主要使用库libpcap,辅助

#include <pcap.h>    #include <sys/socket.h>   #include <netinet/in.h>       #include <netinet/ip.h>      #include <netinet/tcp.h>      #include <netinet/if_ether.h>       #include <arpa/inet.h>

实际运行结果如下

bubuko.com,布布扣

 

具体步骤:

查找网卡函数,返回当前网卡指针

dev = pcap_lookupdev(errbuf);

查找当前网络函数,返回当前网络的网络地址和此网络掩码地址(比如我的ip是192.168.138.141,则我的网络地址192.168.138.1,掩码地址255.255.255.0)

ret = pcap_lookupnet(dev,&netp,&maskp,errbuf);

监听网卡函数(个人理解)
pcap_t *device = pcap_open_live(dev,65535,1,0,errbuf);

捕获数据包函数
pcap_loop(device,-1,ethernet_packet_callback,NULL);

 

个人认为程序难点在于数据处理,并非获取数据包。

由于捕获的是一大串子十六进制数字符数据,所以如何处理这些数据是关键,

 

 

未完待续

C++下,使用libpcap进行抓包

原文:http://www.cnblogs.com/wk23/p/3550637.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!