1. 程式人生 > >Linux 伺服器頻寬異常跑滿分析解決

Linux 伺服器頻寬異常跑滿分析解決

一、使用 nethogs 進行排查

[root@iZ23kick03xZ ~]# nethogs eth0

通過 nethogs 工具來檢視某一網絡卡上程序級流量資訊
假定當前 eth0 網絡卡跑滿,則執行命令 nethogs eth0,在右邊的紅框中可以看到每個程序的網路頻寬情況,左邊紅框顯示了程序對應的 PID,在此可以確定到底是什麼程序佔用了系統的頻寬。

這裡寫圖片描述

如果確定是惡意程式,可以通過 kill -TERM pid 來終止程式。
如是 Web 服務程式,則可以使用 iftop 等工具來查詢具體 IP 來源,然後分析 Web 訪問日誌是否為正常流量,日誌分析也可以使用 logwatch 或 awstats 等工具進行分析。

二、使用 iftop 工具排查

[root@iZ23kick03xZ ~]# iftop -i eth0 -P

注:-P 引數會將請求服務的埠顯示出來,也就是說是通過伺服器哪個埠建立的連線,看內網流量執行 iftop -i eth0 -P 命令。

這裡寫圖片描述

三、使用tcpdum命令進行抓包

[root@iZ23kick03xZ ~]# tcpdump tcp port 80 -nnei eth0 -w web.pcap
簡單點寫就是:
[root@iZ23kick03xZ ~]# tcpdump -i eth0 -w web.pcap

備註:
-w 是將輸出內容儲存到檔案,而web.pcap是一個二進位制檔案

,不能直接開啟,可以通過 wireshark 軟體進行分析

這個是在wireshark中開啟的web.pcap檔案

這裡寫圖片描述

點選 統計--->對話,顯示如下圖所示

這裡寫圖片描述

分析

這裡寫圖片描述

linux下實用iptables封ip段的一些常見命令
封單個IP的命令是:
iptables -I INPUT -s 106.45.233.109 -j DROP
iptables -I OUTPUT -s 106.45.233.109 -j DROP

封IP段的命令是:
iptables -I INPUT -s 106.45.233.0/24 -j DROP
iptables -I OUTPUT -s 106.45.233.0/24 -j DROP

封整個段的命令是:
iptables -I INPUT -s 106.0.0.0/8 -j DROP
iptables -I OUTPUT -s 106.0.0.0/8 -j DROP

封幾個段的命令是:
iptables -I INPUT -s 106.45.233.0/24 -j DROP
iptables -I OUTPUT -s 106.45.233.0/24 -j DROP
iptables -I INPUT -s 60.210.246.0/24 -j DROP
iptables -I OUTPUT -s 60.210.246.0/24 -j DROP