ubuntu libpcap 安装(如何在ubuntu上安装软件)
老铁们,大家好,相信还有很多朋友对于ubuntu libpcap 安装和如何在ubuntu上安装软件的相关问题不太懂,没关系,今天就由我来为大家分享分享ubuntu libpcap 安装以及如何在ubuntu上安装软件的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
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提供了很方便的软件包安装功能,只是有时候定制性能太差,需要用户手动去寻找软件包的安装位置。
如何在 64 位 Ubuntu 15.10 中编译最新版 32 位 Wine 1.7.53
Wine(“Wine Is Not an Emulator”的首字母缩写)是一个能够在多种 POSIX-compliant操作系统(诸如 Linux,Mac OSX及 BSD等)上运行 Windows应用的兼容层。 Wine不是像虚拟机或者模拟器一样模仿内部的 Windows逻辑,而是将 Windows API调用翻译成为动态的 POSIX调用,免除了性能和其他一些行为的内存占用,让你能够干净地集合 Windows应用到你的桌面。
下面跟大家分享如何在Ubuntu 14.04上安装Wine
1.添加PPA
sudo add-apt-repository ppa:ubuntu-wine/ppa
2.更新列表
sudo apt-get update
3.安装Wine
sudo apt-get install wine1.7 winetricks
为了避免错误大家可以使用以下命令
sudo apt-get update