zoukankan      html  css  js  c++  java
  • 「Linux」Ubuntu12.10的Libpcap1.3安装过程

    由于课设的需要,以前的教程都比较久远了,今晚弄了一个,顺手写下教程……

    1. 安装过程

    scue@Link:~$ wget http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz
    scue@Link:~$ tar zxvf libpcap-1.3.0.tar.gz
    scue@Link:~$ cd libpcap-1.3.0/
    scue@Link:~/libpcap-1.3.0$ ./configure 
    scue@Link:~/libpcap-1.3.0$ sudo make install

    2. 现在已经安装好了,但运行需要调用它的程序时候还是不能调用到它的,需要ln下

    # 先找到它的位置
    scue@Link:~/libpcap-1.3.0$ whereis libpcap.so*
    libpcap: /usr/local/lib/libpcap.a /usr/local/lib/libpcap.so
    # 找到它之后,使用ln -s创建链接到/us/lib/目录下
    scue@Link:~/libpcap-1.3.0$  sudo ln -s /usr/local/lib/libpcap.so /usr/lib/libpcap.so.1

    3. 现在我们来编写一下小程序看看网络设备捕获的效果

     -- 开始编辑.c文件

    scue@Link:~$ cd ~
    scue@Link:~$ gedit testlibpcap.c

     -- 然后把以下代码复制进testlibpcap.c里边

    #include<stdio.h>
    #include<stdlib.h>
    #include<pcap.h>
    #include<errno.h>
    #include<sys/socket.h>
    #include<netinet/in.h>
    #include<arpa/inet.h>
     
    int main(int argc,char *argv[])
    {
        char *dev;
        char *net;
        char *mask;
        int ret;
        char errbuf[PCAP_ERRBUF_SIZE];
        bpf_u_int32 netp;
        bpf_u_int32 maskp;
        struct in_addr addr;
        dev = pcap_lookupdev(errbuf);
        if(dev ==NULL)
        {
            printf("%s,这……啥也没有,退出!\n",errbuf);
            exit(1);
        }
        printf("设备名:%s\n",dev);
        return 0;
    }

     -- 开始编译并执行程序

    scue@Link:~$  gcc testlibpcap.c -lpcap -o testlibpcap.o
    scue@Link:~$ ./testlibpcap.o 
    no suitable device found,这……啥也没有,退出! 
    scue@Link:~$
    ------------
    微博:http://weibo.com/scue
    Github:http://github.com/scue
  • 相关阅读:
    MSSQLSERVER数据库 C#里调用存储过程,多参数查询,个人记录
    ASP.NET GridView和Repeater合并单元格
    C# XPath教程
    MSSQLSERVER数据库 导入文本文件
    MSSQLSERVER数据库 递归查询例子
    C# TreeView右键弹出菜单
    tomcat 下War包部署方法
    JAVA自定义标签教程及实例代码
    JAVA tag学习
    Java Quartz 自动调度
  • 原文地址:https://www.cnblogs.com/scue/p/2764485.html
Copyright © 2011-2022 走看看