『壹』 如何在linux下統計高速網路中的流量
在Linux中有很多的流量監控工具,它們可以監控、分類網路流量,以花哨的圖形用戶界面提供實時流量分析報告。大多數這些工具(例如:ntopng , iftop )都是基於libpcap 庫的 ,這個函數庫是用來截取流經網卡的數據包的,可在用戶空間用來監視分析網路流量。盡管這些工具功能齊全,然而基於libpcap庫的流量監控工具無法處理高速(Gb以上)的網路介面,原因是由於在用戶空間做數據包截取的系統開銷過高所致。
在本文中我們介紹一種簡單的Shell 腳本,它可以監控網路流量而且不依賴於緩慢的libpcap庫。這些腳本支持Gb以上規模的高速網路介面,如果你對「匯聚型」的網路流量感興趣的話,它們可統計每個網路介面上的流量。
腳本主要是基於sysfs虛擬文件系統,這是由內核用來將設備或驅動相關的信息輸出到用戶空間的一種機制。網路介面的相關分析數據會通過「/sys/class/net/<ethX>/statistics」輸出。
舉個例子,eth0的網口上分析報告會輸出到這些文件中:
/sys/class/net/eth0/statistics/rx_packets: 收到的數據包數據
/sys/class/net/eth0/statistics/tx_packets: 傳輸的數據包數量
/sys/class/net/eth0/statistics/rx_bytes: 接收的位元組數
/sys/class/net/eth0/statistics/tx_bytes: 傳輸的位元組數
/sys/class/net/eth0/statistics/rx_dropped: 收包時丟棄的數據包
/sys/class/net/eth0/statistics/tx_dropped: 發包時丟棄的數據包
這些數據會根據內核數據發生變更的時候自動刷新。因此,你可以編寫一系列的腳本進行分析並計算流量統計。下面就是這樣的腳本(感謝 joemiller 提供)。第一個腳本是統計每秒數據量,包含接收(RX)或發送(TX)。而後面的則是一個描述網路傳輸中的接收(RX)發送(TX)帶寬。這些腳本中安裝不需要任何的工具。
『貳』 如何在Linux下統計高速網路中的流量
在本文中我們介紹一種簡單的Shell 腳本,它可以監控網路流量而且不依賴於緩慢的libpcap庫。這些腳本支持Gb以上規模的高速網路介面,如果你對「匯聚型」的網路流量感興趣的話,它們可統計每個網路介面上的流量。
腳本主要是基於sysfs虛擬文件系統,這是由內核用來將設備或驅動相關的信息輸出到用戶空間的一種機制。網路介面的相關分析數據會通過「/sys/class/net/<ethX>/statistics」輸出。
舉個例子,eth0的網口上分析報告會輸出到這些文件中:
/sys/class/net/eth0/statistics/rx_packets: 收到的數據包數據
/sys/class/net/eth0/statistics/tx_packets: 傳輸的數據包數量
/sys/class/net/eth0/statistics/rx_bytes: 接收的位元組數
/sys/class/net/eth0/statistics/tx_bytes: 傳輸的位元組數
/sys/class/net/eth0/statistics/rx_dropped: 收包時丟棄的數據包
/sys/class/net/eth0/statistics/tx_dropped: 發包時丟棄的數據包
這些數據會根據內核數據發生變更的時候自動刷新。因此,你可以編寫一系列的腳本進行分析並計算流量統計。下面就是這樣的腳本(感謝 joemiller 提供)。第一個腳本是統計每秒數據量,包含接收(RX)或發送(TX)。而後面的則是一個描述網路傳輸中的接收(RX)發送(TX)帶寬。這些腳本中安裝不需要任何的工具。
測量網口每秒數據包:
下面的屏幕截圖顯示了上面的兩個腳本的輸出。
『叄』 怎麼把Linux流量監控工具iftop內容寫到日誌
nohupiftop>>/tmp/iftop.log&
#追加重定向到一個日誌文件。然後扔到後台,覺得這么監控效果不好。
『肆』 Linux centos 6.5 異常進程與木馬查殺
都說Linux主機是非常安全的,但有時卻不見得,第二次碰上Linux中木馬了(我運氣這么好?)。
廢話不多說,直接進入主題。
一、狀況描述:
1、2017.06.19早上過來發現ssh連接不上,以及各個官網都訪問不了;
2、通過雲主機廠商後台登錄,發現nginx、tomcat、svn應用全部停止;
3、ping www.google.com (雲主機在US) 不通;
二、問題定位:
應該是雲主機被重啟了,同時斷開了外網(有些應用沒有設置為自啟動),於是重啟公網的網卡後,ssh就可以登錄了,手工啟動了nginx、
omcat、svn等應用,因為上次也發生過幾次這樣的情況,據雲廠商反饋,雲主機對外發送大量的網路包,導致流量巨大,具體在Linux主機上的
體現就是cpu一直100%左右撐死,於是我懷疑是不是這次也是對外發送巨大的流量包,導致雲主機廠商斷了主機的外網呢?通過top命令查看
進程發現並沒有cpu佔用過高的進程,就ifconfig 查看了下網卡情況,顯示網卡流量在2.4G左右(由於是事後了,沒有截到先前的圖),感覺很迅
速,於是我就又斷開了一次,就沒管了,到中午午休後,下午再次使用ifconfig,此時流量對外發送大量的流量包,累計流量竟然高達140G左右
(後面處理了,就累加了一點):
這情況顯示,肯定是中木馬,由於Linux主機上面沒有安裝一些關於流量分析的軟體,只從常用的top命令開始,發現並沒有cpu佔用很高的進程,
但發現有兩個從來沒見過的進程:MuYuHang 、LTF,通過 /proc/進程id 進入對應進程文件,ls -lh,發現可執行文件竟然指向了Tomcat bin目錄
跟上次又是多麼的相似,只是進程和文件名不一樣罷了,於是簡單的操作,kill -9 pid ,結果操作無效,很快進程起來,而且文件刪除不了,報
operation not permitted(我可是用root用戶執行的,難道還有root幹不了的事情?具體了解可查看資料 lsattr和),刪除後,過一會兒又自動恢
復。
三、ClamAV工具
關於ClamAV工具的用途以及安裝,請網路搜索相關介紹和安裝資料,大概說一下,ClamAV是Linux平台的一個木馬掃描工具,可以掃描哪些
文件被感染了(但不能自動清除這些病毒,沒有windows上面的殺毒軟體那麼強大),我安裝在/home/clamav目錄下。
四、解決辦法
通過命令 /home/clamav/bin/clamscan -r --bell -i /,掃描這個根目錄發現有不少的文件被感染了:
發現tomcat bin目錄下的2個文件果然是被感染的了,同時發現有幾個命令也被感染了如ps、netstat以及lsof,於是我清除了bsd-port這個目
錄,同時把pythno清理,對於命令可以通過,從同版本的linux 沒有問題的linux主機上面過來,刪除後進行覆蓋即可(也可以刪除重裝),
再把tomcat的文件刪除,以及異常的進程kill掉,再用clamav掃描發現沒有了,最後還需要檢查下/etc/init.d這個開機啟動的文件,檢查裡面自動啟
動的,我這個裡面就發現先前指向 /user/bin/bsd-port/knerl 這個,文件已經刪除了,我同時把對應的sh,注釋掉。目前來看,一切正常了。。。
五、總結
一次比較完整的定位問題,平時一般很少接觸到查收木馬的事情,碰上了就當學習,提升技能,只是不足,沒有搞清木馬是如何進來的,這
個需要後續不斷的學習。心好累,Linux主機第二次中木馬了。。。。
『伍』 求救,linux高手進!!!
因為你沒有安裝mrtg 這個實時流量分析工具 默認情況下 /var/www/html目錄下是空的
『陸』 linux中 通過監控工具發現伺服器在某一時間段CPU 和流量有較大波動排查
使用dstat工具,一般Linux發行版自帶,可以監控統計CPU使用最高的進程
例如
dstat --top-cpu 2
每2秒顯示一次CPU使用最多的進程
把這個重定向到一個文件就能事後分析了
dstat功能很多,可以查下資料
『柒』 在Linux下怎麼看網路流量
1. 使用 iptraf
iptraf是一個實時查看網路流量的文本屏幕界面工具。
如果系統沒有安裝
如果是 RHEL,那麼就去找安裝盤中的 iptraf*.rpm 包安裝;
如果是 CentOS,那麼用 yum install -y iptraf 進行安裝
iptraf是一個文本全屏幕界面,操作起來比較簡單明了。最好使用 putty 來看,SecureCRT可能顯示亂碼。
它提供了很多統計方式:
(1)IP traffic monitor
(2)General interface statistics
(3)Detailed interface statistics
如果跟上 -B 參數,還可以後台執行,把數據保存到文件中,位於 /var/log/iptraf 目錄。
2. sar
如果系統沒有安裝,
如果是 RHEL,那麼就去安裝盤中找 sysstat*.rpm 包安裝;
如果是 CentOS,那麼用 yum install -y sysstat 安裝。
sysstat是一個工具包,包含有幾個很有用的系統檢測程序,iostat,mpstat和sar.
Turbolinux的各個版本上,都包含這個工具包.
iostat用於輸出CPU,I/O系統和磁碟分區的統計信息.可以用來分析磁碟I/O,帶寬等信息.
mpstat用於輸出CPU的各種統計信息. 可以用來分析程序運行時在內核態和用戶態的工作情況.
sar用於定時搜集系統的各種狀態信息.然後可以對系統各個時間點的狀態進行監控.
sar有很多用途,如果要來監控網路流量,使用下面的命令行方式:
sar -n DEV interval count
其中,interval是統計時間間隔,以秒為單位;count是總共統計幾次,如果為0就不斷的統計直到 Ctrl+C 打斷,否則執行count次就退出。
比如:sar -n DEV 1 4
比如:sar -n DEV 10 0
IFACE:LAN介面
rxpck/s:每秒鍾接收的數據包
txpck/s:每秒鍾發送的數據包
rxbyt/s:每秒鍾接收的位元組數
txbyt/s:每秒鍾發送的位元組數
『捌』 Linux下監控流量一般使用什麼工具
有Ntop、Mrtg、Cacti,這三個軟體是Linux下常用的流量分析軟體。
『玖』 如何在Linux上配置基於Web的網路流量監控系統
ntopng的特性
從數據流級別與協議級別對本地網路流量進行實時分析
支持域、AS(自製系統)與VLAN級別的統計分析
支持IP地址地理定位
支持基於「服務探索」(例如Google、Facebook)的深度報文檢測(DPI)
歷史流量分析(例如分別按照小時、日、周、月、年進行分析)
支持sFlow、NetFlow(v5/v9版)以及基於nProbe的IPFIX
網路流量矩陣(誰正在和誰談話?)
支持IPv6
在Linux上安裝ntopng
官方網頁上提供了針對Ubuntu和CentOS的二進制安裝包。如果你使用的恰好是以上二者其一,並且懶得用源碼安裝,可以直接到官網下載二進制文件包安裝,並忽略這一小節下面的內容。
如果你想通過源碼安裝最新的ntopng,請繼續往下看。
如果你是Debian、Ubuntu或Linux Mint,執行以下命令:
$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev $ tar xzf ntopng-1.0.tar.gz -C ~ $ cd ~/ntopng-1.0/ $ ./configure $ make geoip $ make
上面的幾個步驟中,「make geoip」將會自動通過wget從maxmind.com下載一個免費版的GeoIP資料庫,因此,這里最好確保你的系統能聯網。
如果你是Fedora:
$ sudo yum install libpcap-devel glib2-devel GeoIP-devel libxml2-devel libxml2-devel redis wget $ tar xzf ntopng-1.0.tar.gz -C ~ $ cd ~/ntopng-1.0/ $ ./configure $ make geoip $ make
如果你是CentOS或RHEL,首先設置EPEL repository,然後再執行上面和Fedora一樣的命令就可以。
在Linux上配置ntopng
ntopng安裝完畢之後,接下來,新建一個ntopng配置目錄,然後按照下列命令准備默認的配置文件。這里我假設你的本地網路地址為C類「192.168.1.0/24」。
$ sudo mkir /etc/ntopng -p $ sudo -e /etc/ntopng/ntopng.start
修改如下:
--local-networks "192.168.1.0/24"
--interface 1
$ sudo -e /etc/ntopng/ntopng.conf
修改如下:
-G=/var/run/ntopng.pid
在運行ntopng之前,要確認先啟動redis,剛才不說了,redis為ntopng提供鍵值存儲嘛~
在Debian、Ubuntu和Linux Mint上,這樣啟動:
$ sudo /etc/init.d/redis-server restart $ sudo ./ntopng
在Fedora、CentOS和RHEL上,這樣啟動:
$ sudo service redis restart $ sudo ./ntopng
ntopng默認監聽TCP的3000埠,使用下列命令加以確認:
$ sudo netstat -nap|grep ntopng tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 29566/ntopng
基於Web界面的網路流量監控
一旦ntopng成功運行,就可以打開瀏覽器,訪問地址http://<你的主機IP地址>:3000
這時,你會看到ntopng的登錄界面。使用默認帳密:「admin/admin」。
下面是一些截圖。
top流的實時可視化圖像
top主機的實時統計,包括top協議和top AS數量
基於DPI的自動程序/服務探索生成的的實時數據報告
歷史流量數據分析
via: http://xmolo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html
『拾』 linux 發送流量異常
1. 使用iftop工具查出來是哪些個IP地址在請求主機的帶寬資源,找出耗帶寬的元兇
2. 找出耗帶寬的IP地址或者段,分析是out方向還是in方向,使用iptables規則來進行控制
具體的詳細操作方法如下;
一但出現帶寬被惡意請求,在帶寬被請滿的情況下基本上很難通過網路登入到伺服器上進行操作跟維護,這時我們需要通過阿里雲提供的「連接管理終端」服務來登入系統
一般建議在主機正常的時候直接在伺服器內部安裝好iftop工具,這樣出現惡意請求的時候直接可以使用該工具來進行排查,下面介紹下iftop的2中安裝方法
1.使用yum 安裝iftop工具
使用yum安裝的話比較簡單,只要直接執行 yum install iftop –y命令即可,如果沒問題的話系統就會自動執行安裝,但是有使用yum可能安裝不了,這時就需要使用編譯安裝了
2.編譯安裝iftop工具
(1)下載iftop工具的源碼包;
http://oss.aliyuncs.com/aliyunecs/iftop-0.17.tar.gz
(2)CentOS下安裝所需的依賴包
yum install flex byacc libpcap ncursesncurses-devel libpcap-devel
(3 解壓縮下載的iftop文件
tarzxvf iftop-0.17.tar.gz
(4 進入到解壓的的iftop目錄中
cdiftop-0.17
配置並制定安裝目錄為/usr/local/iftop目錄下
(5./configure –prefix=/usr/local/iftop
(6)編譯並安裝
make && make install
安裝完成以後直接使用/usr/local/iftop/sbin/iftop 啟動iftop程序查看流量使用情況,如果想使用iftop的方式直接開啟程序,需要將iftop的程序添加到環境變數中即可
結合使用iptables服務來限制惡意請求的流量;
iftop –i eth1 查看eth1這塊外網網卡的流量使用情況
通過上面這張信息很清楚的看到,121.199這台伺服器一直往192.230.123.101 這個地址發送流量,而且出去產生的流量相當大,幾乎把整個出網帶寬都給耗盡了
查到了惡意請求的原因跟目標主機以後,我們就可以使用iptables服務來對這種惡意行為進行限制了,因為從查看到的數據看主要的流量是從out方向出去的,那就直接在OUT方向設置策略
Iptables -A OUTPUT -d 192.230.123.101 –j REJECT
這里可能還會發現一個情況就是禁用了這個1個IP以後可能這個段的其它IP地址都有可能馬上就接上繼續請求,那就可以針對一個段來進行限制
iptables-A OUTPUT -d 192.230.0.0/16 -j REJECT
策略加上以後可以再使用iftop –i eth1 來查看流量的請求情況;
可以查看到流量已經恢復了正常,之前的惡意請求的地址都已經被防火牆給屏蔽了,效果比較好
另外iftop還有很多的參數可以實現比較多的功能,有時間的話可以研究研究,對排查網路流量攻擊以及掌控流量使用很有幫助的