snort安裝--daq,dnet---ERROR! dnet header not found, go get it from...等錯誤解決方案


snort源碼安裝過程中,需要安裝daq,dnet。這里想說下如何進行安裝。daq簡單,源碼下載直接安裝就可以。dnet在安裝過程中,出錯后總想着在網上搜一搜,結果很失望。。本篇記錄的不僅僅是解決安裝過程中的一個錯誤。而是讓我意識到要克服自己的惰性,和遇到問題解決問題后尋找解決方案的思路。
##daq安裝流程
先說簡單的daq,我們從官網https://www.snort.org/#get-started可以看到daq的安裝流程。

```wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz
    
    tar xvfz daq-2.0.6.tar.gz
    
    cd daq-2.0.6
    
    ./configure && make && sudo make install
```

以上安裝過程應該基本不會出錯。我的安裝過程沒有出錯,應該會沒有問題的。

##dnet安裝流程

為何列出dnet來,是因為我自己遇到問題的時候總是直接的去網上搜索出錯信息然后找答案。因為在找之前,自己根本沒有思考過如何解決,問題的原因在在哪。
先說如何解決問題。
**ERROR!  dnet header not found, go get it from http://code.google.com/p/libdnet/ or use the --with-dnet-* options, if you have it installed in an unusual place**
明顯的我們看到dnet沒有找到。同時可以看到錯誤信息已經提供了解決方案。
兩種解決方案。一是use the --with-dnet-* options, if you have it installed in an unusual place,如果你已經安裝了(可能因為路徑的問題),可以用--with-dnet-includes和--with-dnet-libraries指定目錄。二是還沒有安裝,所以需要去安裝了。下載http://code.google.com/p/libdnet/(可能有些朋友科學上網有障礙,其實這個鏈接已經跳轉到https://github.com/dugsong/libdnet)。下載后進行安裝,基本沒有問題。(可能需要libpcap等包,耐心安裝,缺什么裝什么)。
安裝過程同上安裝daq一致。

##snort安裝依舊報錯dnet header缺失
進入到snort目錄后,執行

```
    ./configure --enable-sourcefire

```

依舊報錯ERROR!  dnet header not found, go get it from...
此時打開configure文件
我們搜索dnet header,可以看到有兩處dnet header not found, go get it from,將第一處的文字添加一點debug信心。再次執行configure。可以判斷報錯的信息是第一處。
接着往上面讀configure文件。

```
    x$DNET_H" = "xno" -a "x$DUMBNET_H" = "xno"
```

if語句判斷兩個條件:DNET_H要求dnet.h文件,DUMBNET_H要求dumbnet.h文件。
搜索后發現並不存在dumbnet.h文件。得知在libdumbnet-dev包中。
安裝

```
    apt-get install libdumbnet-dev
```    

再次執行configure,發現可以通過。</br></br>

##總結
在遇到問題的時候,缺失了自己去看代碼,去分析問題造成的原因的勇氣。在各種問題中,已經遇到了很多次這樣的問題。此處進行反省。耐心,勇氣!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM