基於CapAnalysis軟件實現的本地流量可視化
無意間發現了款可視化的數據包分析工具CanAnalysis試用之下感覺不錯。關鍵還是開源的免費軟件,正好公司領導又有需求要看看網絡數據流量的相關數據。於是乎花了幾天時間稍微試著搭了個架子。現將如何實現的給大家詳細列出來。
需求的系統:
1. 安裝ubuntu 14的操作系統。
2. 配置2塊network卡,1塊用於內部聯網使用,另一塊配置成混雜模式用來mirror交換機跟防火墻之間的端口為了抓取數據(其中為了mirror這個端口還將vsphere中的一塊網卡做了直通,在做直通vsphere物理網卡時候重啟虛擬機還發生了幾臺虛擬機起不來的事故最後一臺虛擬機還要重做可謂一波三折內牛滿面)。
3. 如果你用來抓取的計算機跟分析用的CapAnalysis機器不是同一臺計算機,請自行按需求配置。數據抓取這塊我就是用linux自帶的tcpdump命令來實現的。如果你是windows的也可以用wireshark,不過linux做定時任務更方便點吧。
系統安裝。
1. Ubuntu 14系統的安裝,這個你們就自己去裝吧。我的真實版本是14的。
2. 升級系統安裝完成後我就直接用command升級了一下 sudo apt-get update
3. 開啟ssh以便遠程登錄。 sudo apt-get install openssh-server
4. CapAnalysis
5. 但是按照官方的安裝教程還是沒有成功,我把我自己的安裝步驟說明如下:
i) 安裝gdebi文件 sudo apt-get install gdebi
ii) 下載capanalysis文件 sudo wget “ http://sourceforge.net/projects/capanalysis/files/version%201.2.2/capanalysis_1.2.2_amd64.deb”
iii) 安裝capanalysis
iv) 一些未知錯誤後找到了一條清除的命令 sudo apt-get install –f
6. 安裝完成後你應該可以訪問你的應用程序的網頁信息了我的安裝完成後顯示如下
7. 我用windows的wireshark截取了本機端口的部分數據流量並且導入後分析得到很直觀的效果
不可否認CapAnalysis在數據展示這方面做的的卻是很優秀。
關於數據采集這塊
我是將我們的接入層交換機(公司小所以就只有一個接入層)跟路由器的鏈接端口,做端口鏡像並且在本地網卡中設置網卡的模式為混雜模式。具體的步驟如下。
· 配置ubuntu系統的第二塊網卡
· 直連這個網卡去交換機的鏡像端口
· 開啟第二網卡的混雜模式
· 配置定時任務每小時的10分運行shell腳本tcpdump數據並且保存到本地
· 寫tcpdump的腳本。
腳本如下:
ifconfig #查看本地網絡情況,並未發現第二塊網卡
ifconfig –a #看到第二塊網卡信息,證明第二塊網卡並未啟動
sudo ip link set dev eth1 up #啟用第二塊網卡
sudo ifconfig eth1 –promisc #啟用第二塊網卡的混雜模式
sudo ip link set dev eth1 down / up #重啟第二塊網卡讓混雜模式生效
配置定時計劃crontab
sudo crontab –e #進入系統計劃任務配置模式
*/6 * * * * /home/sgadmin/pcap.sh 2>&1 >> /tmp/log.tmp 每隔10分鐘執行pcap.sh 腳本並將執行結果的日誌寫入log.tmp文件
shell腳本用語tcpdump文件
sudo tcpdump -i eth1 -G 300 -W 1 -w /tmp/`date ‘+%Y%m%d%H‘`.pcap
#定時任務中shell腳本內容 用以小時為時間命名文件名
腳本配置完後運行結果如下:
最後你可以通過command命令將pcap文件導入capanalyasis分析器。
在capanalysis中定義了幾種數據的導入方式 ,各位可以根據自己的實際情況來定義。
本文出自 “花魚” 博客,請務必保留此出處http://tiefeng.blog.51cto.com/42698/1942037
基於CapAnalysis軟件實現的本地流量可視化