ubuntu 安装 libpcap(ubuntu18.04安装教程)

linux的ubuntu14.04下的libpcap怎么测试

为了开发需要,我决定使用最新libpcap源码包安装。在Unix环境下安装libpcap库,需要

c编译器,flex,bison等,安装Ubuntu系统时,没有这些包。安装flex需要m4编译环境,否则会提示“GNU M4 is required”错误。

1.安装系统依赖包

sudo apt-get install gcc libc6-dev

sudo apt-get install m4

sudo apt-get install flex bison

2.下载libpcap源码并安装

从官网下载最新的libpcap版本

cd/usr/local/src

wget

tar zxvf libpcap-1.5.3.tar.gz

cd libpcap-1.5.3

./configure

make

sudo make install

3.安装开发需要用到的依赖库

sudo apt-get install libpcap-dev

4.测试libpcap的小程序,命名为pcap_demo.c,以检验环境是否配置正确

#include<pcap.h>

#include<stdio.h>

int main(int argc, char*argv[])

{

pcap_t*handle;

/* Session handle*/

char*dev;/* The device to sniff on*/

char errbuf[PCAP_ERRBUF_SIZE];

/* Error string*/

struct bpf_program fp;

/* The compiled filter*/

char filter_exp[]="port 80";

/* The filter expression*/

bpf_u_int32 mask;

/* Our netmask*/

bpf_u_int32 net;

/* Our IP*/

struct pcap_pkthdr header;

/* The header that pcap gives us*/

const u_char*packet;

/* The actual packet*/

/* Define the device*/

dev= pcap_lookupdev(errbuf);

if(dev== NULL){

fprintf(stderr,"Couldn't find default device:%s\n", errbuf);

return(2);

}

/* Find the properties for the device*/

if(pcap_lookupnet(dev,&net,&mask, errbuf)==-1){

fprintf(stderr,"Couldn't get netmask for device%s:%s\n", dev, errbuf);

net= 0;

mask= 0;

}

/* Open the session in promiscuous mode*/

handle= pcap_open_live(dev, BUFSIZ, 1, 1000, errbuf);

if(handle== NULL){

fprintf(stderr,"Couldn't open device%s:%s\n", dev, errbuf);

return(2);

}

/* Compile and apply the filter*/

if(pcap_compile(handle,&fp, filter_exp, 0, net)==-1){

fprintf(stderr,"Couldn't parse filter%s:%s\n", filter_exp, pcap_geterr(handle));

return(2);

}

if(pcap_setfilter(handle,&fp)==-1){

fprintf(stderr,"Couldn't install filter%s:%s\n", filter_exp, pcap_geterr(handle));

return(2);

}

/* Grab a packet*/

packet= pcap_next(handle,&header);

/* Print its length*/

printf("Jacked a packet with length of [%d]\n", header.len);

/* And close the session*/

pcap_close(handle);

return(0);

}

开始编译:

gcc-g pcap_demo.c-o pcap_demo-lpcap

开始执行

./pcap_demo

5.注意的问题

5.1.注意使用root用户来执行,或者对普通用户使用sudo来提升权限

sudo pcap_demo

5.2.对一些PCAP API函数要有全面地理解,并时刻更新文档,比如pcap_loop这个函数,下面是官网的man page地址

如何在Ubuntu上安装Snort入侵检测系统

Snort作为一款优秀的开源主机入侵检测系统,在windows和Linux平台上均可安装运行。Ubuntu作为一个以桌面应用为主的Linux操作系统,同样也可以安装Snort。

安装Snort过程

[安装LAMP,Snort和一些软件库]

由于 Ubuntu是 Debian系的 Linux,安装软件非常简单,而且 Ubuntu在中国科技大学有镜像,在教育网和科技网下载速度非常快(2~6M/s),就省掉了出国下载安装包的麻烦,只需要一个命令即可在几十秒钟内安装好所有软件。这里使用 Ubuntu默认命令行软件包管理器 apt来进行安装。

$ sudo apt-get install libpcap0.8-dev libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0 bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libphp-adodb php-pear pcregrep snort snort-rules-default

需要注意的是在安装 MySQL数据库时会弹出设置 MySQL根用户口令的界面,临时设置其为“test”。

[在 MySQL数据库中为 Snort建立数据库]

Ubuntu软件仓库中有一个默认的软件包 snort-mysql提供辅助功能,用软件包管理器下载安装这个软件包。

$ sudo apt-get install snort-mysql

安装好之后查看帮助文档:

$ less/usr/share/doc/snort-mysql/README-database.Debian

根据帮助文档中的指令,在 MySQL中建立 Snort的数据库用户和数据库。所使用的命令如下:

$ mysql–u root–p

在提示符处输入上面设置的口令 test

mysql> CREATE DATABASE snort;

mysql> grant CREATE, INSERT, SELECT, UPDATE on snort.* to snort@localhost;

mysql> grant CREATE, INSERT, SELECT, UPDATE on snort.* to snort;

mysql> SET PASSWORD FOR snort@localhost=PASSWORD('snort-db');

mysql> exit

以上命令的功能是在 MySQL数据库中建立一个 snort数据库,并建立一个 snort用户来管理这个数据库,设置 snort用户的口令为 snort-db。

然后根据 README-database.Debian中的指示建立 snort数据库的结构。

$ cd/usr/share/doc/snort-mysql

$ zcat create_mysql.gz| mysql-u snort-D snort-psnort-db

这样就为 snort在 MySQL中建立了数据库的结构,其中包括各个 snort需要使用的表。

[设置 snort把 log文件输出到 MySQL数据库中]

修改 Snort的配置文件:/etc/snort/snort.conf

$ sudo vim/etc/snort/snort.conf

在配置文件中将 HOME_NET有关项注释掉,然后将 HOME_NET设置为本机 IP所在网络,将 EXTERNAL_NET相关项注释掉,设置其为非本机网络,如下所示:

#var HOME_NET any

var HOME_NET 192.168.0.0/16

#var EXTERNAL_NET any

var EXTERNAL_NET!$HOME_NET

将 output database相关项注释掉,将日志输出设置到 MySQL数据库中,如下所示:

output database: log, mysql, user=snort password=snort-db dbname=snort host=localhost

#output database: log, mysql

这样,snort就不再向/var/log/snort目录下的文件写记录了,转而将记录存放在 MySQL的snort数据库中。这时候可以测试一下 Snort工作是否正常:

$ sudo snort-c/etc/snort/snort.conf

如果出现一个用 ASCII字符画出的小猪,那么 Snort工作就正常了,可以使用 Ctrl-C退出;如果 Snort异常退出,就需要查明以上配置的正确性了。

[测试 Web服务器 Apache和 PHP是否工作正常]

配置 apache的 php模块,添加 msql和 gd的扩展。

$ sudo vim/etc/php5/apache2/php.ini

extension=msql.so

extension=gd.so

重新启动 apache

$/etc/init.d/apache2 restart

在/var/www/目录下新建一个文本文件test.php

$ sudo vim/var/www/test.php

输入内容:

<?php

phpinfo();

?>

然后在浏览器中输入 ,如果配置正确的话,就会出现 PHP INFO的经典界面,就标志着 LAMP工作正常。

[安装和配置 acid-base]

安装 acid-base很简单,使用 Ubuntu软件包管理器下载安装即可:

$ sudo apt-get install acidbase

安装过程中需要输入 acidbase选择使用的数据库,这里选 MySQL,根用户口令 test,和 acid-base的口令(貌似也可以跳过不设置)。

将acidbase从安装目录中拷贝到www目录中,也可以直接在apache中建立一个虚拟目录指向安装目录,这里拷贝过来主要是为了安全性考虑。

sudo cp–R/usr/share/acidbase//var/www/

因为 acidbase目录下的 base_conf.php原本是一个符号链接指向/etc/acidbase/下的base_conf.php,为了保证权限可控制,我们要删除这个链接并新建 base_conf.php文件。

$ rm base_conf.php

$ touch base_conf.php

暂时将/var/www/acidbase/目录权限改为所有人可写,主要是为了配置 acidbase所用。

$ sudo chmod 757 acidbase/

现在就可以开始配置 acid-base了,在浏览器地址栏中输入 ,就会转入安装界面,然后就点击 continue一步步地进行安装:

选择语言为 english,adodb的路径为:/usr/share/php/adodb;选择数据库为 MySQL,数据库名为 snort,数据库主机为 localhost,数据库用户名为 snort的口令为 snort-db;设置 acidbase系统管理员用户名和口令,设置系统管理员用户名为 admin,口令为 test。然后一路继续下去,就能安装完成了。

安装完成后就可以进入登录界面,输入用户名和口令,进入 acidbase系统。

这里需要将 acidbase目录的权限改回去以确保安全性,然后在后台启动 snort,就表明 snort入侵检测系统的安装完成并正常启动了:

$ sudo chmod 775 acidbase/

$ sudo snort-c/etc/snort/snort.conf-i eth0–D

[检查入侵检测系统工作状况,更改入侵检测规则]

正常情况下在一个不安全的网络中,登录 acidbase后一会儿就能发现网络攻击。如果没有发现网络攻击,可以添加更严格的规则使得正常的网络连接也可能被报攻击,以测试 Snort IDS的工作正确性,比如在/etc/snort/rules/web-misc.rules的最后添加下面的话:

$ sudo vi/etc/snort/rules/web-misc.rules

alert tcp any:1024->$HTTP_SERVER 500:

这一行的意思是:对从任何地址小于 1024端口向本机 500以上端口发送的 tcp数据包都报警。杀死 Snort的后台进程并重新启动,就应该能检测到正常的包也被当作攻击了。

$ sudo kill `pgrep snort`

$ sudo snort–c/etc/snort/snort.conf–i eth0-D

总结

使用Ubuntu安装Snort入侵检测系统和网页控制台是相当容易的,因为 Ubuntu提供了很方便的软件包安装功能,只是有时候定制性能太差,需要用户手动去寻找软件包的安装位置。

如何安装libnotify.so.4

1.、解压myxrgsu到/bin

2、解压libpcap.so.0.6.2和libstdc++.so.5到/usr/lib3.、修改网络配置:

将网络配置改为静态IP。在windows下查,运行cmd,运行命令ipconfig/all即可查看网关、DNS。4.、进入Ubuntu选择静态获取IP,并将其填入对应处,保存。具体如下:

1)左击网络链接,或从系统--网络进入网络配置。2)有线连接--属性--输入IP、子网掩码、默认网关3)DNS--输入DNS、DNS搜索域保存退出5、设置IPsudo ifconfig eth0 xxx.xxx.xxx.xxxxxx.xxx.xxx.xxx为实际的IP地址6、运行 myxrgsu

sudo myxrgsu-d7、注意要在管理员权限下才能上锐捷。管理员密码:[XXXX@lxw~]# myxrgsu

根据提示输入用户名密码即可本人学校也是锐捷校园网,没有网络的乌邦图是敌不过微软的。

阅读剩余
THE END