Ubuntu下安装Libpcap
Libpcap是 Unix/Linux 平台下的网络数据捕获函数包,百度百科是这么说的,唉,不管什么来头,只要帮我完成作业就行,安装过程记录如下:
还是那个套路,先在网上搜了一把,大概也就那样,被疯狂转载的方法。首先安装gcc编译器,这个早就装好了,然后由于Libpcap有一些依赖包,所以在安装Libpacap之前还得依次安装GNU M4,bison和flex。M4和bison的下载地址:http://ftp.gnu.org/gnu/。flex的下载地址:http://flex.sourceforge.net/。下载目前最新的版本:m4-1.4.15 ,bison-2.4.3 ,flex-2.5.35 和 libpcap-1.1.1。
把下载的这几个安装包解压缩到同一个目录,终端下用root身份依次进入上述4个文件夹。分别执行如下命令编译安装:
./configure
make
make install
好了,顺利安完之后,编写测试代码 test.c 如下(也是Copy的):
#include<stdio.h>
int main()
{
char *dev, errbuf[1024];
dev=pcap_lookupdev(errbuf);
if(dev==NULL){
fprintf(stderr,"couldn't find default device: %s\n",errbuf);
return(2);
}
printf("Device: %s\n",dev);
return(0);
}
好了,编译这段代码: gcc -o test test.c -lpcap
执行: 执行的时候也因该以root身份 sudo su 输入密码
./test 执行生成的可执行文件test。好了,问题来了,提示:
error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory
在这里卡了很久,在http://opensource.ask4itsolutions.com/forums/vglug-vibrant-gnulinux-user-group/libpcapso1-not-found 这里才找到了解决方法。
在/usr/local/lib目录下, libpcap.so.1文件就躺在这里,为什么找不到呢。
解决方法:打开 /etc目录下的文件ld.so.conf ,添加两行
/usr/local/lib
/usr/lib
然后在终端下执行从新加载配置的命令:
ldconfig
好了,再编译运行test.c成功输出结果:
Device: eth0
如果不以root身份执行,将会输出:
couldn't find default device: no suitable device found
Ubuntu下安装Libpcap的更多相关文章
- Ubuntu下安装libpcap+测试安装
1.从ftp://ftp.gnu.org/gnu/下载flex.bison.GNU M4.libpcap安装包,具体的链接分别如下: flex下载:http://flex.sourceforge.ne ...
- 在Ubuntu下安装ovs-dpdk
在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...
- Ubuntu 下安装QT
Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...
- Ubuntu下安装JDK以及相关配置
1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下载的是jdk-8u60-linux-64.tar.gz 3.创建目录作为JDK的安装目录,这里选 ...
- Ubuntu下安装mod_python报错(GIT错误)
Ubuntu下安装mod_python3.4.1版本报出如下错误: writing byte-compilation script '/tmp/tmpE91VXZ.py' /usr/bin/pytho ...
- TODO:Ubuntu下安装Node
TODO:Ubuntu下安装Node Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高 ...
- Ubuntu杂记——Ubuntu下安装VMware
转战Ubuntu,不知道能坚持多久,但是自己还是要努力把转战过程中的学习到的给记录下来.这次就来记录一下,Ubuntu下如何安装VMware. 就我所知,Linux下有VirtualBox和VMwar ...
- 来杯Caffe——在ubuntu下安装Caffe框架并测试
Caffe是一种深度学习框架...blablabla...... Caffe要在ubuntu下安装 1. 安装依赖 sudo apt-get install libatlas-base-dev sud ...
- Ubuntu 下安装 Mysql
这里讲用Ubuntu下安装MySql ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server 2. apt-get ...
随机推荐
- 宽域POST提交数据
小数据宽域可以使用jsonp,但是大数据跨域必须post那么有以下2种方式 1,传统方式 动态生成form var url = ''var $iframe = $("<iframe s ...
- Swimming Balls
Swimming Balls https://vjudge.net/contest/318752#problem/J如果直接算,各种球的情况都不清楚,因为放一个球之后,水位的变化也会影响之前放入的球, ...
- 五. Arrow Function 箭头函数
箭头函数三大好处: 1. 简明的语法 举例: 如果只有一个参数,可以不加(),多个参数用 "," 隔开 2. 隐式返回 首先说下什么是显示返回,显示返回就是 return 加上你要 ...
- apache日志配置一例,包括指定存储目录与格式、自动删除过期的日志文件
有需要的朋友可以参考下(http://www.nanke0834.com) 1.vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 添加或修改为:复 ...
- table方法也属于模型类的连贯操作方法之一
table方法也属于模型类的连贯操作方法之一,主要用于指定操作的数据表. 用法 一般情况下,操作模型的时候系统能够自动识别当前对应的数据表,所以,使用table方法的情况通常是为了: 切换操作的数据表 ...
- Lintcode 翻转链表
翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 分析: /** * Definition of ListN ...
- struts2的default.properties详解
Struts 2框架有两个核心配置文件:struts.xml和struts.properties 其中struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result ...
- EF中的DbContext类
使用先前的数据上下文,可以通过使用LINQ查询,按字母顺序检索出所有专辑,代码如下
- 11-7-this的最基本认识
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Leetcode322. Coin Change零钱兑换
给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总金额,返回 -1. 示例 1: 输入: coins = ...