扩展阅读
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • 新装的Linux使用root用户不能使用FTP? iis7站长之家
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • c#中SAPI使用总结——SpVoice的使用方法
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • mongodb介绍及使用场景
  • 共享内存一般是怎么使用的,是同消息队列配合使用么
  • c/c++预处理命令预#,##使用介绍
  • asp程序使用的access在Linux下如何使用!
  • 在div中使用css让文字底部对齐的方法
  • 新装的Linux使用root用户不能使用FTP?
  • nginx Windows版相关问题及使用说明
  • LINUX下使用Eclipse,如何使用交叉编译器?
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • redhat9内存使用率高达73%,怎么查看内存具体使用情况
  •  
    当前位置:  编程语言>c/c++

    使用libpcap读取tcpdump抓取的文件并解析c代码实例

     
        发布时间:2013-9-12  


        本文导语:  libpcap是unix/linux平台下的网络数据包捕获函数库,大多数网络监控软件都以它为基础,Linux下著名的tcpdump就是以它为基础的。Libpcap可以在绝大多数类unix平台下工作,Libpcap提供了系统独立的用户级别网络数据包捕获接口,并...

      libpcapunix/linux平台下的网络数据包捕获函数库,大多数网络监控软件都以它为基础,Linux下著名的tcpdump就是以它为基础的。

    Libpcap可以在绝大多数unix平台下工作,Libpcap提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。在windows平台下,一个与libpcap 很类似的函数winpcap 提供捕获功能。

    使用libpcap读取tcpdump抓取的文件解析c代码实例具体示例代码如下:

    /*
     * 发布网站:  http://www.
     */
    #include <stdio.h>
    #include <stdlib.h>
    #include <pcap.h>
    //#define _DEBUG_
    typedef struct pcap_pkthdr PCAP_PKTHEADER;
    int printPktHeader(PCAP_PKTHEADER *pkt_Header);
    int main(int argc, char *argv[])
    {
            if(argc<2)
            {
                    fprintf(stdout,"please input test filenamen");
                    return 0;
            }
            fprintf (stdout, "test filename=%sn", argv[1]);
            fprintf(stdout, "begin time=%dn", time(0));  
        //read the libpcap version
        static char *version;
        version = pcap_lib_version();
        fprintf(stdout, "%sn", version);
        //open the dumped cap file
        char *dev, errBuff[PCAP_ERRBUF_SIZE];
        pcap_t *handle = NULL;
        handle = pcap_open_offline( argv[1] , errBuff);
        if (NULL == handle) {
            fprintf(stderr, "Error: %sn", errBuff);
            return (EXIT_FAILURE);
        }
        #if defined(_DEBUG_)
            fprintf(stdout,"running pcap_nextn");
        #endif
        //read the cap file , and print the every captured packet summary
        PCAP_PKTHEADER *pktHeader;
        int status;
        u_char *pktData;
        do {
            #if defined(_DEBUG_)
               fprintf(stdout, "status: %dn", status);
            #endif
            status = pcap_next_ex(handle, &pktHeader, &pktData );
    // status = pcap_next(handle, &pktHeader );
            printPktHeader(pktHeader);
        } while (status == 1);
        //close the handle
        pcap_close(handle);
        fprintf(stdout, "end time=%dn", time(0));  
        return (EXIT_SUCCESS);
    }
    int printPktHeader(PCAP_PKTHEADER *pktHeader)
    {
        #if defined(_DEBUG_)
            fprintf(stdout,"running printPktHeadern");
        #endif
        fprintf(stdout, "cap_time:%u, ", (unsigned int)pktHeader->ts.tv_sec);
        fprintf(stdout, "pkt length:%u, ", pktHeader->len);
        fprintf(stdout, "cap length:%un", pktHeader->caplen);
    }


    • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
      本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
      转载请注明:文章转载自:[169IT-IT技术资讯]
      本文标题:使用libpcap读取tcpdump抓取的文件并解析c代码实例
    相关文章推荐:
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 为什么我在使用nslookup命令的时候,正向解析(域名-》ip)没有问题,反向解析(ip-》域名)怎么查不到呢?
  • 做过中国农业银行项目的朋友请进,关于农行使用的解析XML消息的库如何使用!
  • 大家好,我想问下有人用过"linux进程的内存使用解析"中推荐使用的"Ben Maurer写的perl脚本"查看内存么
  • jquery代码-如何使用jQuery来解析xml
  • 请教 使用 vim 解析 log文件
  • linux下使用libxml库C编写的解析XML的程序
  • 使用标准SAX解析XML文档如何获取文档编码信息及约束它的dtd文件路径.
  • 急问java中有关HTML解析器的使用
  • 解析如何使用Zend Framework 连接数据库
  • 解析在WTL下使用双缓冲的实现方法
  • java的json解析类库使用示例
  • 解析使用C++编写无错代码的方法技巧
  • c#使用htmlagilitypack解析html格式字符串
  • 求助:使用jaxp中的dom接口解析xml文件时出现错误(不会迟于5月23日结账)
  • 解析Android中string-array数据源的简单使用
  • 使用JDOM解析XML的中文问题?
  • c#使用nsoup解析html乱码解决方法分享 nsoup教程
  • 解析abstract与override究竟可不可以同时使用
  • python使用scrapy解析js示例
  • C++ clock()解析如何使用时钟计时的应用


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3