• <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
            日本免费一区二区久久人人澡| 一本色道久久99一综合| 精品免费tv久久久久久久| 久久精品中文闷骚内射| 国产一区二区精品久久| 亚洲成人精品久久| 久久综合视频网站| 亚洲人成网亚洲欧洲无码久久 | 久久亚洲国产成人影院网站| 久久人人爽人人爽人人片AV麻豆| 久久久久久曰本AV免费免费| 久久天天躁狠狠躁夜夜avapp| a级毛片无码兔费真人久久| 久久精品极品盛宴观看| 精品国产乱码久久久久久郑州公司| 国产成人久久久精品二区三区| 亚洲性久久久影院| 久久99国产精品99久久| 国产精品久久久久蜜芽| 国产成人无码精品久久久久免费| 熟妇人妻久久中文字幕| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久99精品国产99久久| 精品一二三区久久aaa片| 狠狠精品干练久久久无码中文字幕| 久久综合狠狠综合久久综合88| 久久精品国产99久久久香蕉| 久久久久久午夜成人影院| 久久综合久久美利坚合众国| 精品视频久久久久| 久久最新精品国产| 热re99久久精品国产99热| 久久久一本精品99久久精品66| 久久这里有精品| 亚洲国产精品综合久久一线| 久久激情亚洲精品无码?V| 久久国产午夜精品一区二区三区| 99热成人精品热久久669| 久久w5ww成w人免费| 77777亚洲午夜久久多喷| 精品国产一区二区三区久久久狼|