centos7 編譯xplico


1 說明

  xplico官網有直接鏡像Ubuntu可用,安裝完系統鏡像后可直接通過web界面使用,本次文檔的目的是將xplico以源碼
  形式在centos下編譯,並且以命令行方式運行解析文件。
 
  本次操作的系統環境為centos7.5:
 
  

 

2 環境工具准備

1)准備源碼

  xplico源碼:
   下載 xplico-1.2.1.tar.gz
 
  nDPI源碼:
   下載 nDPI-2.8.tar.gz

2)准備工作目錄

  • 找個工作路徑新建個文件夾xplico;
  • 將xplico-1.2.1.tar.gz 移動到$path/xplico 目錄中;
  • 將nDPI-2.8.tar.gz 移動到$path/xplico 目錄中。

3)安裝依賴庫

yum install tcpdump httpd php php-mysql sqlite sqlite-devel libzip-devel recode sox php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc libdbi-dbd-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql libXt libXt-devel libX11-devel libX11 json-c-devel json-c libnet libnet-devel libXext libXext-devel postgresql-devel psmisc

 

3 編譯xplico

cd $path/xplico
tar -zxvf xplico-1.2.1.tar.gz
cd xplico-1.2.1
make 

 

1)錯誤1:

   

   解決:

yum install GeoIP-devel

  

 2)錯誤2:

   

 

tar -zxvf nDPI-2.8.tar.gz
mv nDPI-2.8 nDPI      #這一步一定要改名字,否則后面xplico會找不到對應頭文件
cd nDPI
./autogen.sh
./configure
make

  

  切換到xplico-1.2.1目錄下繼續編譯
  因為nDPI是放在了xplico同級目錄下,xplico編譯需要libndpi,
  所以編譯xplico時用命令:make LOCAL_NDPI=1
 
  這樣就可以找到本地的libndpi庫了

 

 3)錯誤3:

   

   這個問題的出現是由於nDPI版本和xplico不匹配導致的,不兼容主要在ndpi 中結構體ndpi_protocol 
  中定義master_protocol字段,而在xplico中使用protocol字段導致不兼容可以直接修改xplico中的代碼,
  本次直接修改xplico中的代碼。
 
  vim dissectors/tcp_grbg/tcp_garbage.c

   

  改為:

  

  類似的還有:
vim ./dissectors/udp_grbg/udp_garbage.c  #line376
 
vim ./dissectors/tcp_ca/tcp_analysis.c   #line 527  621
 
vim  ./dissectors/udp_ca/udp_analysis.c  #line 434  454

 

 

4)錯誤4:

  

  這是因為libndpi.a這個庫的路徑不對,應該在../nDPI/src/lib/中,  

 

cd $path/nDPI/src/lib/
mkdir .libs
cp libndpi.a  .libs

 

 

 5)錯誤5:

  

yum install mysql-devel

 

6)錯誤6:

  

  因為我們用不到PQ數據庫,可以把它的接口禁掉,免得安裝軟件:
  vim system/dema/dbinterface.c
  

  

  

 

 
  之后就可以編譯通過了,編譯通過標志如下

  

 

 4 命令行模式運行xplico

  以上編譯通過之后,會在當前目錄下生成可執行程序xplico:

   

  要以命令行模式運行程序:
./xplico -c ./config/xplico_cli_nc.cfg  -m pcap -d   /data/pcaps/                        # -d 解析整個文件夾下pcap包
./xplico -c ./config/xplico_cli_nc.cfg  -m pcap -f   /data/pcaps/1.pcap               # -f單個pcap包
  
  這種編譯環境搭建完成之后,就可以移植、修改添加符合自己項目需要的功能!

 

 

 

 

 

 

 

 

 

 

 

  

 


免責聲明!

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



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