1、前言
Darkstat - Nework Traffic Analyzer 簡單來說就是將通過網卡的封包利用圖表方式呈現,讓您可以很簡單的了解目前網路卡上面進、出的流量。Darkstat 功能特色:
- 使用圖表方式來呈現 Host、Port。
- 使用嵌入式網頁伺服器 (因此不需要安裝 Web Server)。
- 預設使用 DNS 來解析分析到的 Host。
- 體積小、可攜式、單執行緒、高效率、不複雜。
Darkstat 成果展示畫面:
文章目錄
1、前言2、實作環境
3、安裝及設定
步驟1.安裝 darkstat 套件
步驟2.編輯 /etc/rc.conf
步驟3.啟動 darkstat
4、Darkstat 參數說明
5、參考
6、Me FAQ
Q1.無法安裝 darkstat?
2、實作環境
- FreeBSD 5.4-RELEASE-p7
- darkstat-3.0.707
3、安裝及設定
步驟 1. 安裝 darkstat 套件
切換至 Ports Tree 路徑安裝 darkstat 套件。# cd /usr/ports/net-mgmt/darkstat //切換到安裝路徑
# make install clean //安裝套件並清除暫存檔案
步驟 2. 編輯 /etc/rc.conf
修改 /etc/rc.conf 檔以便系統重新開機時能自動啟動 Darkstat 服務。# vi /etc/rc.conf
darkstat_enable="YES" //開機啟動 Darkstat 服務
darkstat_interface="em0" //指定監聽的網卡名稱
步驟 3. 啟動 darkstat
鍵入如下指令即可開始對指定網路卡進行監聽的動作。# /usr/local/etc/rc.d/darkstat.sh start
Starting darkstat.
darkstat 3.0.707 (built with libpcap 2.4)
darkstat (03360): starting up
darkstat (03360): daemonizing to run in the background!
darkstat (03360): parent waiting
darkstat (03361): I am the main process
darkstat (03362): set uid/gid to 65534/65534
darkstat (03361): DNS child has PID 3362
darkstat (03361): caplen is 54
darkstat (03361): capturing in promiscuous mode
darkstat (03361): listening on 0.0.0.0:667
darkstat (03361): loaded 131 protos
darkstat (03361): loaded 1002 tcp and 968 udp servs, from total 1975
darkstat (03361): chrooted into: /var/run/darkstat
darkstat (03361): set uid/gid to 65534/65534
darkstat (03361): local_ip update(em0) = 61.60.59.58
darkstat (03361): entering main loop
darkstat (03360): parent done reading, calling waitpid
darkstat (03360): waitpid ret 0, status is 0
檢查 Darkstat Service 是否啟動。
# /usr/local/etc/rc.d/darkstat.sh status
darkstat is running as pid 3361.
檢查 Darkstat Service 是否開啟服務的 Port (Default Listen Port 667)。
# sockstat |grep 667
nobody darkstat 3361 10 tcp4 *:667 *:*
檢查 Darkstat Process 是否執行中。
# ps ax |grep darkstat
3361 ?? Ss 0:00.01 /usr/local/sbin/darkstat -i em0 --chroot /var/run/darkstat --pidfile darkstat.pid --user nobody
3362 ?? Is 0:00.00 darkstat: DNS child (darkstat)
4、Darkstat 參數說明
- -i interface: 指定監聽的網路卡名稱
- --debug: 開啟除錯模式
- --no-promisc: 不使用混亂模式 (Promiscuous Mode)
- --no-dns: 不使用 DNS 來解析 IP >> Hostname 名稱
- -p port: 指定 Embedded Webserver 使用的 Port (預設為 667)
- -b bindaddr: 指定 Embedded Webserver 使用的 IP Address 預設使用 0.0.0.0
- -f filter: 指定過濾 (Packet Filter),詳細過濾語法請參考 man tcpdump
- -l network/netmask: 定義本地網段 (Local Network) 所以進入及出去的封包將會顯示在圖表 (Graphs) 中
- --chroot dir: 指定 Chroot 資料夾
- --user username: 指定執行服務的使用者 (預設使用 nobody)
- --daylog filename: 指定 Daily Log Traffic Statistics (必須配合 --chroot 設定)
- --import filename: 匯入 Darkstat Database
- --export filename: 匯出 Darkstat Database (必須配合 --chroot 設定)
- --pidfile filename: 建立 Darkstat Process ID
5、參考
- Darkstat - Nework Traffic Analyzer or Network Monitor and Screenshots
- 苗栗縣大湖鄉大南國民小學FreeBSD 全球資訊網路架站日誌 - 流量統計 darkstat
6、Me FAQ
Q1. 無法安裝 darkstat?
Error Message:無法安裝 darkstat 並出現如下錯誤訊息?
# cd /usr/ports/net-mgmt/darkstat ; make install clean
On FreeBSD before 6.2 ports system unfortunately can not set default X11BASE by itself so please help it a bit by setting X11BASE=${LOCALBASE}
in make.conf.On the other hand, if you do wish to use non-default X11BASE, please set variable USE_NONDEFAULT_X11BASE. *** Error code 1 Stop.
Ans:
因為本次安裝的機器為 FreeBSD 5.4-RELEASE-p7 而訊息也很清楚說明,若您在更新 Port Tree 後且您的 FreeBSD 版本為 6.2 以前的話,那麼在安裝此套件時會安裝 X11 套件若不想安裝 X11 套件的話可以把相關的參數加到 /etc/make.conf 內。
# vi /etc/make.conf //視個人需求加入吧
X11BASE=${LOCALBASE} //會安裝 X11 相關套件
USE_NONDEFAULT_X11BASE=yes //不安裝 X11 相關套件