test3 pcap 抓包程序
来源:互联网 发布:清华大学网络学堂登陆 编辑:程序博客网 时间:2024/06/05 02:23
http://blog.csdn.net/htttw/article/details/7521053
下面的这个程序会把收到的数据包内容全部打印出来,运行方式和上一个程序一样:
#include <pcap.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
void getPacket(u_char * arg, const struct pcap_pkthdr * pkthdr, const u_char * packet)
{
int * id = (int *)arg;
printf("id: %d\n", ++(*id));
printf("Packet length: %d\n", pkthdr->len);
printf("Number of bytes: %d\n", pkthdr->caplen);
printf("Recieved time: %s", ctime((const time_t *)&pkthdr->ts.tv_sec));
int i;
for(i=0; i<pkthdr->len; ++i)
{
printf(" %02x", packet[i]);
if( (i + 1) % 16 == 0 )
{
printf("\n");
}
}
printf("\n\n");
}
int main()
{
char errBuf[PCAP_ERRBUF_SIZE], * devStr;
/* get a device */
devStr = pcap_lookupdev(errBuf);
if(devStr)
{
printf("success: device: %s\n", devStr);
}
else
{
printf("error: %s\n", errBuf);
exit(1);
}
/* open a device, wait until a packet arrives */
pcap_t * device = pcap_open_live(devStr, 65535, 1, 0, errBuf);
if(!device)
{
printf("error: pcap_open_live(): %s\n", errBuf);
exit(1);
}
/* wait loop forever */
int id = 0;
pcap_loop(device, -1, getPacket, (u_char*)&id);
pcap_close(device);
return 0;
}
从上图可以看出,如果我们没Ctrl+c,test会一直抓到包,因为我们将pcap_loop()设置为永远循环
0 0
- test3 pcap 抓包程序
- pcap简单抓包程序框架
- PCAP 抓包
- test2抓包 PCAP
- pcap网络抓包 无法import pcap
- python调用pcap抓包
- socket pcap 抓包代码
- WireShark抓包的pcap文件格式分析
- WireShark抓包的pcap文件格式分析
- 一个pcap抓包分析code
- wireshark的抓包文件格式-pcap文件格式学习
- C++解析与生成PCAP抓包数据
- python 抓包保存为pcap文件并解析
- wireshark所抓的PCAP包的分割
- Android抓包程序
- libpcap 抓包程序
- 网卡抓包程序
- windows抓包程序
- sessionFactory.openSession()和sessionFactory.getCurrentSession()区别
- 第十四周项目2—分块查找
- 第十四周项目2-二叉树排序树中查找的路径
- 第15周项目1 -1验证算法
- Eclipse下NDK开发与调试
- test3 pcap 抓包程序
- python 删除重复元素字典并在字典中加入重复元素次数
- spring quartz2.2.1 cluster
- Python简单爬取蚂蚁窝首页的图片
- MFC对象拖拽功能(不只是文件拖拽)(转)
- 提升查询速度的方法
- 第12周项目4 利用遍历思想求解图问题(1--5)
- 【数据结构与算法】内部排序总结(附各种排序算法源码)
- 【Netty4 简单项目实践】十、Http协议下使用protocol buff