centos平台基于snort、barnyard2以及base的IDS(入侵检测系统)的搭建与测试及所遇问题汇总

原创 2016年12月19日 01:20:03
  • 2847

一、基本环境 
虚拟机工具:Vmware Workstation Pro 12 
Centos版本:CentOS-7-x86_64-Minimal-1511 
Snort版本:snort-2.9.9.0 
Barnyard2版本:barnyard2-1.9 
Base版本:base-1.4.5

二、IDS系统搭建 
1、安装wget工具

[root@localhost alankong]# yum install -y wget
  • 1

2、更换为阿里云的源

[root@localhost alankong]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[root@localhost alankong]# yum clean all
[root@localhost alankong]# yum makecache
[root@localhost alankong]# yum -y update
  • 1
  • 2
  • 3
  • 4

其中 
yum clean all的意思是:yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers

yum makecache的意思是:将服务器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度

yum -y update的意思是:升级所有包,改变软件设置和系统设置,系统版本内核都升级(yum -y upgrade:升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变)

3、安装epel源

[root@localhost alankong]# yum install -y epel-release
  • 1
  • 2

yum install -y epel-release意思是:安装epel源,EPEL,即ExtraPackages for Enterprise Linux,这个软件仓库里有很多非常常用的软件,而且是专门针对RHEL(Red Hat Enterprise Linux,Red Hat的linux系统)设计的,对RHEL标准yum源是一个很好的补充,完全免费使用,由Fedora项目维护,EPEL 包含一个叫做epel-release的包,这个包包含了EPEL源的gpg密钥和软件源信息。可以通过yum安装到企业版Linux发行版上。

4、安装基本环境和依赖包

[root@localhost alankong]# yum install -y gcc gcc-c++flex bison zlib* libxml2 libpcap* pcre* tcpdump git libtool curl man make
  • 1

5、解压并安装libdnet、DAQ、snort 
libdnet、DAQ、snort的源文件可下载点我

libdnet:
[root@localhost alankong]# cd /usr/local/src
[root@localhost src]# tar -zxvf /home/alankong/Desktop/IDS/libdnet-1.11.tar.gz
[root@localhost src]# cd libdnet-1.11/
[root@localhost libdnet-1.11]# ./configure
[root@localhost libdnet-1.11]# make && make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注: 
libdnet 提供了简单、可移植的接口来操作底层网络,包括: 
网址操作 
内核 arp(4) 缓存和 route(4) 表查找和操作 
网络防火墙 (IP filter, ipfw, ipchains, pf, PktFilter, …) 
网络接口查找和操作 
IP tunnelling (BSD/Linux tun, Universal TUN/TAP device) 
原始 IP包和以太网帧传输

支持的编程语言: 
C, C++ 
Python 
Perl, Ruby (see below)

支持的平台: 
BSD (OpenBSD, FreeBSD, NetBSD, BSD/OS) 
Linux (Redhat, Debian, Slackware, etc.) 
MacOS X 
Windows (NT/2000/XP) 
Solaris 
IRIX 
HP-UX 
Tru64 
项目主页:http://www.open-open.com/lib/view/home/1383872481040

DAQ
[root@localhost src]# tar -zxvf /home/alankong/Desktop/IDS/daq-2.0.6.tar.gz
[root@localhost src]# ./configure
[root@localhost src]# make && make install
  • 1
  • 2
  • 3
  • 4
snort
[root@localhost src]# tar -zxvf /home/alankong/Desktop/IDS/snort-2.9.9.0.tar.gz
[root@localhost src]# ./configure --enable-sourcefire
[root@localhost src]# make && make install
  • 1
  • 2
  • 3
  • 4

6、配置snort 
(1)新建/etc/snort文件夹并复制配置文件到当前目录

[root@localhost usr]# mkdir /etc/snort
[root@localhost usr]# cd /etc/snort
[root@localhost snort]# cp /usr/local/src/snort-2.9.9.0/etc/* .
  • 1
  • 2
  • 3

(2)把规则包解压到当前目录 
点我下载

[root@localhost snort]# tar -zvxf /home/alankong/Desktop/IDS/snortrules-snapshot-2990.tar.gz
  • 1

(3)在/etc/snort/rules下新建white_list.rules和black_list.rules两个文件

[root@localhost snort]# touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules
  • 1
  • 2

(4)编辑snort配置文件 
(不太会用vi,用的是gedit)

[root@localhost snort]# gedit /etc/snort/snort.conf
  • 1

其中需要修改的内容如下所示: 
45行 ipvar HOME_NET any > ipvar HOME_NET 192.168.x.x 你的的IP网段,写成CIDR格式,可以添加多个网段 
举例:ipvar HOME_NET [192.168.0.0/16,172.16.0.0/16]

ipvar EXTERNAL_NET any > ipvar EXTERNAL_NET!$HOME_NET

104行 var RULE_PATH ../ruls > var RULE_PATH /etc/snort/rules

105行 var SO_RULE_PATH ../so_rules > var SO_RULE_PATH /etc/snort/so_rules

106行 var PREPROC_RULE_PATH ../preproc_rules > var PREPROC_RULE_PATH/etc/snort/preproc_rules

113行 var WHITE_LIST_PATH ../rules > 109 varWHITE_LIST_PATH /etc/snort/rules

114行 var BLACK_LIST_PATH ../rules > 110 var BLACK_LIST_PATH /etc/snort/rules

设置log目录属组 snort.snort: 
config logdir :/var/log/snort(记得去掉前面的注释:#)

配置输出插件: 
到521行修改成如下内容:output unified2:filename snort.log,limit 128(同样记得去掉前面的注释:#)

7、添加用户和组 
注: 
创建用户、组、设置权限因为在root身份下解包的文件权限都是跟root有关,所以要修改成snort用户的属主和相关权限。 
简单讲用户组的作用就是: 
因为linux 是多人多任务系统 所有可能有很多人在主机人作业。 
比如 有A B C D 4个人 在linux主机上作业, A B C 3个人 在做同一个项目 建了一个文件夹 
这个文件只能A B C 3个人进入,不能让其他用户进入 ,所有就出来用户组了, 
那么那个D 就 是非用户组了。

[root@localhost snort]# groupadd -g 40000 snort
[root@localhost snort]# useradd snort -u 40000 -d /var/log/snort -s /sbin/nologin -c SNORT_IDS -g snort
  • 1
  • 2

查看未修改属主之前的情况:

[root@localhost snort]# ls -l
  • 1

[root@localhost snort]# ls -l 
total 344 
-rw-r–r–. 1 root root 1281 Dec 18 12:55 attribute_table.dtd 
-rw-r–r–. 1 root root 3757 Dec 18 12:55 classification.config 
drwxr-xr-x. 3 1210 1210 4096 Sep 23 2010 doc 
drwxr-xr-x. 2 1210 1210 4096 Sep 23 2010 etc 
-rw-r–r–. 1 root root 23058 Dec 18 12:55 file_magic.conf 
-rw-r–r–. 1 root root 31971 Dec 18 12:55 gen-msg.map 
-rw-r–r–. 1 root root 13429 Dec 18 12:55 Makefile 
-rw-r–r–. 1 root root 190 Dec 18 12:55 Makefile.am 
-rw-r–r–. 1 root root 12306 Dec 18 12:55 Makefile.in 
drwxr-xr-x. 2 1210 1210 4096 Sep 23 2010 preproc_rules 
-rw-r–r–. 1 root root 687 Dec 18 12:55 reference.config 
drwxr-xr-x. 2 1210 1210 4096 Dec 18 13:01 rules 
-rw-r–r–. 1 root root 26882 Dec 18 13:11 snort.conf 
-rw-r–r–. 1 root root 26882 Dec 18 13:10 snort.conf~ 
drwxr-xr-x. 4 1210 1210 4096 Sep 23 2010 so_rules 
-rw-r–r–. 1 root root 2335 Dec 18 12:55 threshold.conf 
-rw-r–r–. 1 root root 160606 Dec 18 12:55 unicode.map

修改属主并再次查看属主情况:

[root@localhost snort]# chown -R snort:snort *
[root@localhost snort]# ls -l
  • 1
  • 2
  • 3

[root@localhost snort]# ls -l 
total 344 
-rw-r–r–. 1 snort snort 1281 Dec 18 12:55 attribute_table.dtd 
-rw-r–r–. 1 snort snort 3757 Dec 18 12:55 classification.config 
drwxr-xr-x. 3 snort snort 4096 Sep 23 2010 doc 
drwxr-xr-x. 2 snort snort 4096 Sep 23 2010 etc 
-rw-r–r–. 1 snort snort 23058 Dec 18 12:55 file_magic.conf 
-rw-r–r–. 1 snort snort 31971 Dec 18 12:55 gen-msg.map 
-rw-r–r–. 1 snort snort 13429 Dec 18 12:55 Makefile 
-rw-r–r–. 1 snort snort 190 Dec 18 12:55 Makefile.am 
-rw-r–r–. 1 snort snort 12306 Dec 18 12:55 Makefile.in 
drwxr-xr-x. 2 snort snort 4096 Sep 23 2010 preproc_rules 
-rw-r–r–. 1 snort snort 687 Dec 18 12:55 reference.config 
drwxr-xr-x. 2 snort snort 4096 Dec 18 13:01 rules 
-rw-r–r–. 1 snort snort 26882 Dec 18 13:11 snort.conf 
-rw-r–r–. 1 snort snort 26882 Dec 18 13:10 snort.conf~ 
drwxr-xr-x. 4 snort snort 4096 Sep 23 2010 so_rules 
-rw-r–r–. 1 snort snort 2335 Dec 18 12:55 threshold.conf 
-rw-r–r–. 1 snort snort 160606 Dec 18 12:55 unicode.map

8、设置开机自动启动snort

[root@localhost snort]# cd /usr/local/src/snort-2.9.9.0/rpm
[root@localhost rpm]# cp snortd /etc/init.d/snortd
[root@localhost rpm]# cp /usr/local/src/snort-2.9.9.0/rpm/snort.sysconfig /etc/sysconfig/snort
[root@localhost rpm]# chkconfig --add /etc/init.d/snortd
[root@localhost rpm]# chkconfig snortd on
  • 1
  • 2
  • 3
  • 4
  • 5

9、新建链接文件

就像是配置环境变量一样,在/usr/sbin/目录中新建连接文件snort

[root@localhost rpm]# cd /usr/sbin
[root@localhost sbin]# ln -s /usr/local/bin/snort snort
  • 1
  • 2

10、新建目录设置权限

[root@localhost sbin]# mkdir -p /usr/local/lib/snort_dynamicrules
[root@localhost sbin]# chown -R snort:snort /usr/local/lib/snort_dynamicrules
[root@localhost sbin]# chown -R 755 /usr/local/lib/snort_dynamicrules
  • 1
  • 2
  • 3

11、测试当前snort是否可用

[root@localhost snort]# snort -T -i eht0 -u snort -g snort -c /etc/snort/snort.conf
  • 1
  • 2

会报这样的错: 
ERROR: /etc/snort//etc/snort/rules/app-detect.rules(0) Unable to open rules file “/etc/snort//etc/snort/rules/app-detect.rules”: No such file or directory. 
这是因为如下图所示,snort.conf中的rule多于规则包中的rule,应该是版本不匹配的问题,但是目前我还没有找到对应的版本,所以我的办法是对应着将snort.conf中多于的rule给注释掉(如果再次遇到某些rule有问题,我目前的办法是直接注释掉): 

成功的结果: 

12、添加一条规则进行测试

[root@localhost snort]# gedit /etc/snort/rules/local.rules
  • 1

添加如下规则: 
alert icmp any any -> $HOME_NET any (msg:”Ping”;sid:1000003;rev:1;)

Ping Snort主机,使其产生alert 
在Snort主机上操作:

snort -i eth0 -c /etc/snort/snort.conf -A fast-l /var/log/snort/
  • 1

可以在alert中产生告警,用下面命令查看:

[root@localhost snort]# cd /var/log/snort/
[root@localhost snort]# tail -f ./alert
  • 1
  • 2

会看到: 

13、安装mysql

[root@localhost snort]# yum install -y mysql-server mysql-devel php-mysql php-adodb php-pear php-gd libtool php-imapphp-ldap php-mbstring php-odbc php-pear php-xml php-pecl-apc
[root@localhost snort]# chkconfig --levels 235 mysqld on
[root@localhost snort]# /etc/init.d/mysqld start
  • 1
  • 2
  • 3

给mysql赋值密码(密码就是mysql):

[root@localhost snort]# /usr/bin/mysqladmin -u root password 'mysql' 
  • 1

14、建立snort数据库名设置权限 
这个数据库主要是用于专门保存snort的一些数据。 
进入数据库:

[root@localhost snort]# mysql -u root -p
Enter password:
  • 1
  • 2

创建数据库等:

mysql> create database snort;
Query OK, 1 row affected (0.00 sec) mysql> use snort;
Database changed mysql> create user 'snort'@'localhost' IDENTIFIED BY 'mysql';
Query OK, 0 rows affected (0.00 sec)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

创建名为snort、密码为mysql的数据库用户并赋予名为snort数据库权限

mysql> grant create,select,update,insert,delete on snort.* to snort@localhost identified by 'mysql';
Query OK, 0 rows affected (0.00 sec)
mysql> set password for 'snort'@'localhost'=password('mysql');
Query OK, 0 rows affected (0.00 sec)
  • 1
  • 2
  • 3
  • 4
  • 5

(可以在一个新的terminal中执行)乱入一点内容,此时要先解压barnyard2,因为这里面有创建数据库的文件,而barnyard本身的作用是将snort生成的数据导入到数据库中: 
点我下载barnyard

[root@localhost src]# tar -zxvf /home/alankong/Desktop/IDS/barnyard2-1.9.tar.gz 
  • 1

回到建立数据库的内容:

mysql> use snort;
Database changed
mysql> source /usr/local/src/barnyard2-1.9/schemas/create_mysql; mysql> show tables;
+------------------+
| Tables_in_snort |
+------------------+
| data |
| detail |
| encoding |
| event |
| icmphdr |
| iphdr |
| opt |
| reference |
| reference_system |
| schema |
| sensor |
| sig_class |
| sig_reference |
| signature |
| tcphdr |
| udphdr |
+------------------+
16 rows in set (0.01 sec)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

最后:

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec) mysql> exit
Bye
  • 1
  • 2
  • 3
  • 4
  • 5

注: 
flush privileges是刷新数据库权限,防止出现拒绝访问的问题。

15、安装配置Barnyard2 
正如上面所说:Barnyard2的作用是读取snort产生的二进制事件文件并存储到MySQL。

刚刚我们已经解压了这个文件,所以就直接进入下一个环节。 
安装:

[root@localhost barnyard2-1.9]# ./configure --with-mysql --with-mysql-libraries=/usr/lib64/mysql
[root@localhost barnyard2-1.9]# make && make install
  • 1
  • 2

配置: 
首先创建目录和文件:

[root@localhost barnyard2-1.9]# mkdir /var/log/barnyard2
[root@localhost barnyard2-1.9]# touch /var/log/snort/barnyard2.waldo
  • 1
  • 2

查看和设置属主:

查看:
[root@localhost barnyard2-1.9]# ls -l /var/log/snort/barnyard2.waldo
-rw-r--r--. 1 root root 0 Dec 18 14:24 /var/log/snort/barnyard2.waldo
设置:
[root@localhost barnyard2-1.9]# chown snort.snort /var/log/snort/barnyard2.waldo
[root@localhost barnyard2-1.9]# ls -l /var/log/snort/barnyard2.waldo
-rw-r--r--. 1 snort snort 0 Dec 18 14:24 /var/log/snort/barnyard2.waldo
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

将barnyard2的配置模板文件复制到/etc/snort目录下:

[root@localhost barnyard2-1.9]# cp /usr/local/src/barnyard2-1.9/etc/barnyard2.conf /etc/snort
  • 1

修改配置文件:

[root@localhost barnyard2-1.9]# gedit /etc/snort/barnyard2.conf
  • 1

要修改的内容如下所示: 
config logdir:/var/log/barnyard2 \该目录权限snort.snort(记得去掉注释)

config hostname: localhost(记得去掉注释)

config interface: eth0(记得去掉注释)

config waldo_file:/var/log/snort/barnyard2.waldo(记得去掉注释)

output database: log,mysql,user=snort password=mysql dbname=snort host=localhost(记得去掉注释)

编辑完成后保存退出。

新建一个文件:

[root@localhost barnyard2-1.9]# touch /var/log/snort/barnyard2.waldo 
  • 1

同样修改属主:

[root@localhost barnyard2-1.9]# touch /var/log/snort/barnyard2.waldo
[root@localhost barnyard2-1.9]# chown snort.snort /var/log/barnyard2
[root@localhost barnyard2-1.9]# chown snort.snort /var/log/snort/barnyard2.waldo
[root@localhost barnyard2-1.9]# cp /etc/snort/etc/sid-msg.map /etc/snort
  • 1
  • 2
  • 3
  • 4

16、snort和barnyard2联合测试 
首先:

snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0 -D
  • 1

不会看到输出结果,因为程序在后台运行,-D 参数表示后台运行 
其次ping主机。 继续运行以下内容:

barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/snort/barnyard2.waldo -g snort -u snort
  • 1

结果: 
 
以及如下: 
 
按ctrl+c终止测试

如果遇到这个问题: 
ERROR: Unable to open log spool file ‘/var/log/snort/snort.log.1482098157’ (Permission denied) 
Closing spool file ‘/var/log/snort/snort.log.1482098157’. Read 0 records 
ERROR: Unable to create spooler! 
可以再次执行如下代码给予权限:

[root@localhost src]# chown -R snort:snort /var/log/snort
  • 1

17、安装LAMP组件

[root@localhost alankong]# yum install -y httpd mysql-server php php-mysql php-mbstring php-mcrypt mysql-devel php-gd
  • 1
  • 2

18、安装php插件

[root@localhost alankong]# yum install -y mcrypt libmcrypt libmcrypt-devel
  • 1

19、安装pear插件

[root@localhost alankong]# yum install -y php-pear
[root@localhost alankong]# pear channel-update pear.php.net
[root@localhost alankong]# pear install mail
[root@localhost alankong]# pear install Image_Graph-alpha Image_Canvas-alpha Image_Color Numbers_Roman
[root@localhost alankong]# pear install mail_mime
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

20、安装adodb 
点我下载

[root@localhost alankong]# tar -zxvf /home/alankong/Desktop/IDS/adodb519.tar.gz -C /var/www/html
[root@localhost alankong]# mv /var/www/html/adodb5 /var/www/html/adodb
  • 1
  • 2
  • 3

21、安装base 
点我下载

[root@localhost alankong]# tar -zxvf /home/alankong/Desktop/IDS/base-1.4.5.tar.gz -C /var/www/html
[root@localhost alankong]# mv /var/www/html/base-1.4.5 /var/www/html/base
  • 1
  • 2

22、修改php.ini

[root@localhost alankong]# gedit /etc/php.ini
  • 1
  • 2

修改: 
error_reporting = E_ALL & ~E_NOTICE

23、设置html目录权限以及adodb的权限

[root@localhost alankong]# chmod 755 /var/www/html/adodb
[root@localhost snort]# chmod 755 /var/www/html/adodb
  • 1
  • 2

24、配置base 
启动mysql 
启动apache 
关闭防火墙 

[root@localhost alankong]# service mysqld start
Starting mysqld: [ OK ]
[root@localhost alankong]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[ OK ]
[root@localhost alankong]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

用浏览器打开http://localhost/base/setup/index.php 
然后如下图的顺序进行: 


配置数据库: 

设置admin用户和密码(为方便记住,和mysql一致): 

点击create: 

成功: 

点击上图第五步之后: 

25、最终测试 
重复16步的测试,在网址http://localhost/base/setup/index.php可看到: 

26、参考:

1、http://www.iitshare.com/cannot-find-libmysqlclient-under-usr.html 
2、http://www.secbox.cn/skill/8796.html 
3、http://blog.csdn.net/u011542994/article/details/46409631 
4、https://linux.cn/thread-15661-1-1.html 
5、http://wenku.baidu.com/link?url=jhmJ8CT5tb54Los5sdam3AJJw4-4poc8PJE7-7gJNjvWE37IiuXRRk5_DKWg5j0Ao_2TZH0KbBy6XqwG8X3dg370xEoaCJvhmRZCr1TEL73 
6、http://www.xitongzhijia.net/linux/201412/33603.html#download 
7、www.google.com

centos平台基于snort、barnyard2以及base的IDS(入侵检测系统)的搭建与测试及所遇问题汇总的更多相关文章

  1. 基于snort、barnyard2和base的 网络入侵检测系统的部署与应用

    1.项目分析 1.1.项目背景 伴随着互联网产业的不迅猛发展,新兴技术层数不穷,互联网通讯技术逐渐成为了各行各业不可替代的基础设施,越来越多的业务都是依靠互联网来得以实现.随着我国科技产业的飞速发展, ...

  2. 基于CentOS6.5下snort+barnyard2+base的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机器环境实验室的大数 ...

  3. [IDS]CentOS6.6下搭建基于snort+barnyard2+base的入侵检测系统,超详细!!!

    最详细的CentOS6.6下搭建基于snort+barnyard2+base的入侵检测系统免责声明一.如果因为使用本文档照成损失(系统崩溃.数据丢失等),作者不承担任何责任.二.本文档只是个人使用本文 ...

  4. 基于Windows7下snort+apache+php 7 + acid(或者base) + adodb + jpgraph的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习.人工智能.区域链研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机 ...

  5. snort + barnyard2如何正确读取snort.unified2格式的数据集并且入库MySQL(图文详解)

    不多说,直接上干货! 为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物 ...

  6. Suricata+Barnyard2+Base的IDS前端Snorby

    搭建基于Suricata+Barnyard2+Base的IDS前端Snorby 4.Barnyard2:http://www.securixlive.com/barnyard2/download.ph ...

  7. NET Core1.0之CentOS平台开发控制台程序DEMO

    微软发布NET Core1.0正式版本,并支持了red hat linux平台,所以在CentOS平台,通过编辑器玩下控制器程序. 一.安装.NET Core SDK 先下载SDK并放在指定目录. s ...

  8. 10月12号 晚八点 Speed-BI 云平台-基于Excel数据源的管理驾驶舱构建全过程,腾讯课堂开课啦

    认真地做了一大摞一大摞的报表,老板没时间看?努力把能反馈的内容都融汇进图表里,老板嫌复杂?做了几个简单的报表,老板一眼就觉得信息不全面?每个报表都用了各种各样的图表,老板却毫无兴趣?明明很努力了,为什 ...

  9. KoaHub平台基于Node.js开发的Koa 连接支付宝插件代码信息详情

    KoaHub平台基于Node.js开发的Koa 链接支付宝插件代码信息详情 easy-alipay alipay payment & notification APIs easy-alipay ...

随机推荐

  1. hbase hbck命令

    hbase hbck 只做检查 hbase hbck -fixMeta 根据region目录中的.regioninfo,生成meta表` hbase hbck -fixAssignments 把met ...

  2. 深度图从ros数据类型转换成opencv数据类型

    摘要:ros下,利用realsense D435采集深度图,并将其转换成opencv的数据类型. 一. RGBD图像采集 通过image_transport包,根据给定的采集速度从realsense ...

  3. jekins构建触发器详解-日程表的使用

    日程表参数解释如下: 第一个参数代表的是分钟 minute,取值 0~59: 第二个参数代表的是小时 hour,取值 0~23: 第三个参数代表的是天 day,取值 1~31: 第四个参数代表的是月 ...

  4. centos7如何安装部署Zabbix

    参考http://www.cnblogs.com/momoshouhu/p/8041293.html 1.关闭selinux和firewall 1.1检测selinux是否关闭 [root@local ...

  5. Java中用字符串常量赋值和使用new构造String对象的区别

    String str1 = "ABC"; String str2 = new String("ABC"); String str1 = “ABC”;可能创建一个 ...

  6. Zabbix监控进程(进程消失后钉钉报警)

    用于python报警的脚本如下:(钉钉机器人的连接需要修改) #!/usr/bin/python3# -*- coding: utf-8 -*-# Author: aiker@gdedu.ml# My ...

  7. LTE学习笔记(一)——背景知识

    一.标准化组织 无线通信技术的演进离不开一些标准化组织. 1.ITU(International Telecommunication Union) 国际电信联盟,主要任务是制定标准,分配无线频谱资源, ...

  8. vim中行末去掉^M

    方式1: 输入 :%s/^M//g 方式2: 输入:%s/\r//g

  9. Memcached 使用备注

    ICSharpCode.SharpZipLib未能加载文件或程序集 Memcached使用的是0.84版本的dll,vs2013带的是0.86版本 在web.config中<runtime> ...

  10. git保存用户名和密码

    git保存用户名和密码 简介:tortoiseGit(乌龟git)图形化了git,我们用起来很方便,但是我们拉取私有项目的时候,每次都要输入用户名和密码很麻烦,这里向大家介绍怎么避免多少输入 试验环境 ...