• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-167  評(píng)論-8  文章-0  trackbacks-0

            自:https://www.newbyter.net/?p=1403 
            一、編譯

            編譯是在Ubuntu 11.04 (32bit)下完成的,Ubuntu采用默認(rèn)安裝方式。

            Snort本身用到了一些第三方的庫(kù),這些庫(kù)默認(rèn)在Ubuntu下并沒(méi)有安裝,因此需要我們自己手動(dòng)安裝。具體包括:libdnet-1.12、libpcap-1.0.0、pcre-8.12、zlib-1.2.5等,除此之外,還需要安裝build-essential、flex和bison包。

            這些第三方庫(kù)的編譯安裝比較簡(jiǎn)單,一般只需要執(zhí)行以下三個(gè)命令即可:

            ./configure
            make
            sudo make install

            當(dāng)所依賴的包和庫(kù)均已安裝完畢后,就可以編譯安裝snort了。

            Snort的源碼可以從www.snort.org獲得,本文使用的snort源碼版本為2.9.0.5,下載后的壓縮包名為snort-2.9.0.5.tar.gz。另外,還應(yīng)下載daq源碼,因?yàn)閟nort在編譯時(shí)需要用到該庫(kù)。daq在snort的官方站點(diǎn)也直接提供了源碼下載。本文使用的daq版本為0.5,下載后的壓縮包名為daq-0.5.tar.gz。最后,需要下載snort的規(guī)則庫(kù),因?yàn)槲覀冃枰猻nort工作在IDS模式下,這需要提供相應(yīng)的入侵檢測(cè)規(guī)則庫(kù)。幸運(yùn)的是,snort官方同樣提供了規(guī)則庫(kù)下載,不過(guò)分為收費(fèi)版本和免費(fèi)版本。只需要注冊(cè)一個(gè)免費(fèi)的賬戶就可以下載免費(fèi)版本的規(guī)則庫(kù)了。本文使用的版本庫(kù)下載后的壓縮包名為snortrules-snapshot-2905.tar.gz。編譯時(shí)并不需要用到規(guī)則庫(kù),運(yùn)行時(shí)才會(huì)用到。

            接下來(lái)是snort的編譯過(guò)程,直接./configure是可以的,但是這樣編譯出來(lái)的snort一些功能沒(méi)有啟用,不能滿足我們的需要,所以必須使用一些配置選項(xiàng),具體如下:

            ./configure –enable-ipv6 –enable-gre –enable-mpls –enable-targetbased –enable-decoder-preprocessor-rules –enable-ppm –enable-perfprofiling –enable-zlib –enable-active-response –enable-normalizer –enable-reload –enable-react –enable-flexresp3

            完畢后,使用 make 命令進(jìn)行編譯,編輯完畢后使用 sudo make install 完成安裝。

            下面是編譯過(guò)程中的截圖:

            【圖1】snort編譯中


            【圖2】snort編譯完畢

            二、安裝和運(yùn)行

            編譯snort成功后,執(zhí)行 sudo make install 就順利安裝了。snort將會(huì)被安裝到 /usr/local 目錄下。

            接下來(lái)要讓snort運(yùn)行起來(lái)。現(xiàn)在需要解壓出剛才下載的snort規(guī)則庫(kù)壓縮包,假設(shè)解壓后的文件夾名字叫做snort-rules-2905,該文件夾下的etc目錄下有一個(gè)snort.conf文件,這個(gè)文件里面提供了一些默認(rèn)配置,對(duì)本文來(lái)說(shuō)是足夠了,但是要運(yùn)行起來(lái),還有一個(gè)細(xì)節(jié)需要修改:

            查找 compress_depth 20480 decompress_depth 20480 并將其中的兩個(gè)20480 都替換為 65535

            修改后記得保存一下。然后還需要將 snort-rules-2905/so_rules/precompiled/Ubuntu-10-4/i386/2.9.0.5 文件夾拷貝到 /usr/local/lib 下,并更名為 snort_dynamicrules。
            完成上面的步驟后,就可以準(zhǔn)備開(kāi)始運(yùn)行snort了。

            打開(kāi)控制臺(tái),切換到 /usr/local/bin 目錄下,執(zhí)行:

            sudo ./snort -dev -l /home/jian/tmp/log -h 192.168.1.0/24 -c /home/jian/soft/snort-rules-2905/etc/snort.conf

            其中 -l 參數(shù)指明了日志文件的存放位置,-h 參數(shù)指明了檢測(cè)的網(wǎng)段,-c 參數(shù)指明了配置文件的位置。

            如果運(yùn)行成功,將會(huì)顯示類(lèi)似下面的畫(huà)面:

            【圖3】成功運(yùn)行snort

            三、調(diào)試

            為了方便分析snort的源碼,以及進(jìn)行后續(xù)開(kāi)發(fā),一個(gè)方便的調(diào)試和開(kāi)發(fā)環(huán)境是相當(dāng)重要的。本文選擇采用Eclipse IDE for C/C++ Developers (下文簡(jiǎn)稱Eclipse)作為調(diào)試和開(kāi)發(fā)環(huán)境。

            首先打開(kāi)Eclipse,不過(guò)需要以管理員權(quán)限打開(kāi),原因是snort在以IDS模式運(yùn)行時(shí)需要管理員權(quán)限,如果直接打開(kāi)則Eclipse運(yùn)行在普通用戶權(quán)限下,雖然能編譯,但是運(yùn)行snort將失敗。解決這一問(wèn)題有多種方法,但是直接以管理員權(quán)限運(yùn)行Eclipse是一個(gè)比較簡(jiǎn)單直接的解決辦法。

            具體為:切換到eclipse所在的目錄下,執(zhí)行 sudo ./eclipse 即可。

            打開(kāi)Eclipse后,依次選擇菜單 File → New → Project,然后在彈出的對(duì)話框中,選擇C/C++ 分類(lèi)下的Makefile Project with Existing Code,如下圖:

            【圖4】選擇項(xiàng)目類(lèi)型

            然后點(diǎn)擊 Next,進(jìn)入下一步。這一步需要告訴Eclipse我們的snort源碼在哪個(gè)位置,并選擇編譯器類(lèi)型。編譯器類(lèi)型我們選擇Linux GCC,如下圖所示:

            【圖5】定位snort源碼位置并選擇編譯器類(lèi)型

            完畢后點(diǎn)擊Finish,Eclipse就會(huì)立刻開(kāi)始編譯Snort的源碼。

            Eclipse編譯源碼是直接根據(jù)我們之前在控制臺(tái)下切換到snort源碼目錄執(zhí)行的./configure(帶相應(yīng)參數(shù))后生成的makefile文件來(lái)編譯的,因此需要確保Eclipse在編譯之前我們就已經(jīng)手動(dòng)調(diào)用了./configure(帶相應(yīng)參數(shù))已經(jīng)生成了正確的makefile文件。

            完成至此,已經(jīng)離最后的成功之差一步了:

            打開(kāi)Debug Configurations,并切換到Arguments選項(xiàng)卡,輸入:

            -dev -l /home/jian/tmp/log -h 192.168.1.0/24 -c /home/jian/soft/snort-rules-2905/etc/snort.conf

            如圖:

            【圖6】配置Debug Configurations

            好了,點(diǎn)擊Apply按鈕,然后Close即可。

            同樣的,也應(yīng)該配置Run Configurations,這里不再贅述。

            通過(guò)以上配置,我們就可以開(kāi)始調(diào)試snort源碼了。也能夠隨心所欲的修改snort中的源碼并重新編譯,進(jìn)行各種實(shí)驗(yàn)了。

            posted on 2012-05-22 11:09 老馬驛站 閱讀(3357) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): linuxsnort
            亚洲AV日韩精品久久久久| 久久精品国产亚洲欧美| 中文字幕久久亚洲一区| 日韩欧美亚洲综合久久影院Ds| 模特私拍国产精品久久| 亚洲精品无码久久一线| 久久久久国产一级毛片高清版| 国产免费福利体检区久久 | 久久久久亚洲AV无码麻豆| 97久久综合精品久久久综合| 国产精品一区二区久久精品无码| 午夜精品久久久久久影视riav| 无码超乳爆乳中文字幕久久| 久久久国产精品福利免费| 精品久久人人爽天天玩人人妻| 国产精品久久久久久福利漫画 | 欧美一级久久久久久久大| 久久精品无码专区免费东京热 | 99久久精品毛片免费播放| 久久这里只有精品视频99| 久久精品国产只有精品2020| 亚洲国产一成人久久精品| 欧美激情精品久久久久久| 7777久久亚洲中文字幕| 亚洲国产精品无码久久一线| 伊人久久成人成综合网222| 一级做a爰片久久毛片人呢| 99久久久精品| 9久久9久久精品| 精品国产乱码久久久久久郑州公司| 久久婷婷五月综合成人D啪| 久久精品夜色噜噜亚洲A∨| 久久精品一区二区| 国产精品欧美久久久天天影视| 色综合久久久久久久久五月| 久久亚洲AV无码精品色午夜 | 久久福利片| 久久久久亚洲精品无码网址| 久久精品国产一区二区三区不卡| 99久久精品免费看国产免费| 中文字幕亚洲综合久久2|