1. 程式人生 > >centos平臺基於snort、barnyard2以及base的IDS(入侵檢測系統)的搭建與測試及所遇問題彙總

centos平臺基於snort、barnyard2以及base的IDS(入侵檢測系統)的搭建與測試及所遇問題彙總

一、基本環境
虛擬機器工具: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

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

其中
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

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

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

注:
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
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

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/* .

(2)把規則包解壓到當前目錄
點我下載

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

(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

(4)編輯snort配置檔案
(不太會用vi,用的是gedit)

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

其中需要修改的內容如下所示:
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

檢視未修改屬主之前的情況:

[root@localhost snort]# ls -l

[ro[email protected] 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

[[email protected] 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

9、新建連結檔案

就像是配置環境變數一樣,在/usr/sbin/目錄中新建連線檔案snort

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

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

11、測試當前snort是否可用

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

會報這樣的錯:
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

新增如下規則:
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/

可以在alert中產生告警,用下面命令檢視:

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

會看到:
這裡寫圖片描述

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

給mysql賦值密碼(密碼就是mysql):

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

14、建立snort資料庫名設定許可權
這個資料庫主要是用於專門儲存snort的一些資料。
進入資料庫:

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

建立資料庫等:

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)

建立名為snort、密碼為mysql的資料庫使用者並賦予名為snort資料庫許可權

mysql> grant create,select,update,insert,delete on snort.* to [email protected] 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)

(可以在一個新的terminal中執行)亂入一點內容,此時要先解壓barnyard2,因為這裡面有建立資料庫的檔案,而barnyard本身的作用是將snort生成的資料匯入到資料庫中:
點我下載barnyard

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

回到建立資料庫的內容:

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)

最後:

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

注:
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

配置:
首先建立目錄和檔案:

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

檢視和設定屬主:

檢視:
[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

將barnyard2的配置模板檔案複製到/etc/snort目錄下:

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

修改配置檔案:

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

要修改的內容如下所示:
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 

同樣修改屬主:

[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

16、snort和barnyard2聯合測試
首先:

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

不會看到輸出結果,因為程式在後臺執行,-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

結果:
這裡寫圖片描述
以及如下:
這裡寫圖片描述
按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

17、安裝LAMP元件

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

18、安裝php外掛

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

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

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

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

22、修改php.ini

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

修改:
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

24、配置base
啟動mysql
啟動apache
關閉防火牆

[[email protected] alankong]# service mysqld start
Starting mysqld:                                           [  OK  ]
[[email protected] alankong]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
[[email protected] alankong]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]

用瀏覽器開啟http://localhost/base/setup/index.php
然後如下圖的順序進行:
這裡寫圖片描述
這裡寫圖片描述
配置資料庫:
這裡寫圖片描述
設定admin使用者和密碼(為方便記住,和mysql一致):
這裡寫圖片描述
點選create:
這裡寫圖片描述
成功:
這裡寫圖片描述
點選上圖第五步之後:
這裡寫圖片描述

26、參考:

相關推薦

centos平臺基於snortbarnyard2以及base的IDS入侵檢測系統搭建測試問題彙總

一、基本環境 虛擬機器工具:Vmware Workstation Pro 12 Centos版本:CentOS-7-x86_64-Minimal-1511 Snort版本:snort-2.9.9.0 Barnyard2版本:barnyard2-1.9

基於snortbarnyard2和base的 網路入侵檢測系統的部署應用

# 1、專案分析 ### 1.1、專案背景 伴隨著網際網路產業的不迅猛發展,新興技術層數不窮,網際網路通訊技術逐漸成為了各行各業不可替代的基礎設施,越來越多的業務都是依靠網際網路來得以實現。隨著我國科技產業的飛速發展,很多過去無法想象的事物變成了現實,由計算機衍生的人工智慧等一系列高新技術,以不可阻擋的勢

基於CentOS6.5下snort+barnyard2+base的入侵檢測系統搭建圖文詳解博主推薦

為什麼,要寫這篇論文?    是因為,目前科研的我,正值研三,致力於網路安全、大資料、機器學習研究領域!   論文方向的需要,同時不侷限於真實物理環境機器實驗室的攻防環境、也不侷限於真實物理機器環境實驗室的大資料叢集平臺。在此,為了需要的博友們,能在自己虛擬機器裡(我這裡是CentOS

基於Windows7下snort+apache+php 7 + acid或者base + adodb + jpgraph的入侵檢測系統搭建圖文詳解博主推薦

為什麼,要寫這篇論文?    是因為,目前科研的我,正值研三,致力於網路安全、大資料、機器學習、人工智慧、區域鏈研究領域!   論文方向的需要,同時不侷限於真實物理環境機器實驗室的攻防環境、也不侷限於真實物理機器環境實驗室的大資料叢集平臺。在此,為了需要的博友們,能在自己虛擬機器裡(我這裡

Windows 平臺基於 snort入侵檢測系統安裝

Ncool-soft ncool_kk[ http://ncool.56.com ] 2006-1-9 首先得到我們需要的軟體包(最新軟體包): 1、snort2.0.exe(在windows平臺下的snort最新版本,linux平臺的已經是snort2.4.3) http:

ActiveMQ 基於zookeeper的主從levelDB Master/Slave搭建以及Spring-boot下使用

tina true listener 報文 string ext 說明 下使用 nat 0:說明   ActiveMQ 5.9.0新推出的主從實現,基於zookeeper來選舉出一個master,其他節點自動作為slave實時同步消息。因為有實時同步數據的slave的存在,

JavaScript的BOMDOM操作節點以及表格

wid UNC HR 匿名函數 ast clone BE tab 位置 BOM操作 一、什麽是BOM BOM(Browser Object Model)即瀏覽器對象模型。 BOM提供了獨立於內容 而與瀏覽器窗口進行交互的對象; BOM由一系列相關的對象構

HDU 2048 神上帝以及老天爺錯排概率問題

所有 sel bmi nbsp limit 排列 rec pid car 傳送門: http://acm.hdu.edu.cn/showproblem.php?pid=2048 神、上帝以及老天爺 Time Limit: 2000/1000 MS (Java/Others)

資料倉庫系列——01.拉鍊表原理設計以及在Hive中的實現

0x00 前言 過了半年時間,對資料倉庫的理解又有了一些不同的認識,翻出來之前寫的關於拉鍊表的內容,稍作修改重新發出來。本篇將會談一談在資料倉庫中拉鍊表相關的內容,包括它的原理、設計、以及在我們大資料場景下的實現方式。 內容 全文由下面幾個部分組成: 先分享一下拉

HTML的筆記展示2表單元素input元素labelbutton以及HTML5新增的一些元素

一、HTML原有的表單與表單控制元件 1.****<form…/>元素用於生成輸入表單,該元素不會生成視覺化部分。如單行文字框、多行文字框、單選按鈕、複選框等都需要放在<form…/>元素內 form元素的重要屬性: action:指定當單擊表單內的"確認"按鈕時

java-棧佇列陣列連結串列Hash以及集合

引言 在這裡主要介紹一些比較重要的演算法:棧、佇列、陣列、連結串列、Hash、樹以及集合的概念 棧:先進後出 佇列:先進先出,橫向佇列,存入取出 有關棧和佇列的具體儲存資料的過程,可以通過有關圖片進行理解: 連結串列:通過一個鏈子把多個結點(元素)

django簡單的註冊登入以及登出退出操作

註冊 from django.http import HttpResponseRedirect from django.shortcuts import render from account.models import Users def regis

漫談資料倉庫之拉鍊表原理設計以及在Hive中的實現

0x00 前言 本文將會談一談在資料倉庫中拉鍊表相關的內容,包括它的原理、設計、以及在我們大資料場景下的實現方式。 全文由下面幾個部分組成: 先分享一下拉鍊表的用途、什麼是拉鍊表。 通過一些小的使用場景來對拉鍊表做近一步的闡釋,以及拉鍊表和常用的

基於windows 10的git版本控制系統(Bug管理系統)Bugzilla持續整合環境基於Jenkins和Github的安裝學習

Git安裝與學習報告 由於我使用的是windows平臺,所以git的安裝和學習也是基於windows下的。 Git安裝 安裝完成之後在開始選單中找到Git資料夾,點選裡面的Git Bash, 然後會彈出一個小視窗,那就說明安裝成功了。

基於KubernetesDocker的機器學習微服務系統設計系列——(二)架構部署

  本篇主要介紹基於Kubernetes、容器(Docker)、微服務技術等在機器學習中的實踐應用的架構與部署。 1 系統介紹 1.1 核心功能   主要完成功能: 支援Docker映象化釋出,支援Kuberneetes雲化部署; 微服務化設計支援服務自治

Java 局部變量實例變量類變量靜態變量區別

其中 對象 llc -c cli num 改變 system name 1. 局部變量: 局部變量是類的方法中的變量; 2. 實例變量: 實例變量也是類中獨立於方法之外的變量,不過沒有static修飾,也叫 對象變量 3. 類變量(靜態變量): 類變量是類中獨立於方法之外的

python基礎—字符串處理文件處理運維必備

python open string 字符串處理 文件處理 小生博客:http://xsboke.blog.51cto.com 小生 Q Q:1770058260 -------謝謝您的參考,如有疑問,歡迎交流一、 字

cookiesession的認識僅作記錄

含義 生命 jsp getattr 愛好 bound 打開 表單提交 dos 一、cookie機制和session機制的區別   具體來說cookie機制采用的是在客戶端保持狀態的方案,而session機制采用的是在服務器端保持狀態的方案。  同時我們也看到,由於在服務器端

CentOS 6.4安裝配置LNMP服務器Nginx+PHP+MySQL

mysql- ket 是否 分號 使用 store 重啟 isa tpi 一 安裝篇 1. 安裝nginx yum check-update #更新yum源 yum remove httpd* php* #刪除系統自帶的軟件包 yum install nginx #安裝ng

統計字符串中大寫小寫數字的個數含遍歷

小寫 logs 字符串轉換 ray png images 技術 img -1 字符串遍歷可以用字符串轉換方法中的toolCharArray();把字符串轉換為字符數組。統計字符串中大寫、小寫、數字的個數(含遍歷)