關於伺服器網路流量異常,卡死,遭受入侵,對外發包...
以下只是一些小工具,用於檢測流量及哪些程序有問題,需要豐富的經驗配合。
yum install ifstat nload iptraf sysstat
大多數是因為php-ddos木馬原因導致發包
watch ifconfig
-------------檢視資料報新增情況
ifstat
----檢視網絡卡流量
eth0 eth1
kb/s in kb/s out kb/s in kb/s out
407.34 154.99 134.96 324.29
274.08 191.48 210.72 248.32
240.20 192.91 257.22 179.06
136.48 236.72 203.89 179.84
nload
-------以流量圖顯示
iptraf
------------很直觀的工具
sar -n dev 1 4
檢視4次資料
[root@ct-nat ~]# sar -n dev 1 4
linux 2.6.18-164.el5pae (ct-nat) 06/05/2014
02:20:38 pm iface rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
02:20:39 pm lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
02:20:39 pm eth0 855.10 290.82 832319.39 140028.57 0.00 0.00 0.00
netstat -tu -c
檢視發包的埠
active internet connections (w/o servers)
proto recv-q send-q local address foreign address state
tcp 0 0 124.1.1.68:49995 218.66.170.184:10991 established
tcp 0 0 ::ffff:118.26.96.1:ssh ::ffff:118.26.96.248:41077 established
tcp 0 0 ::ffff:118.26.96.1:ssh ::ffff:118.26.96.248:42562 established
active internet connections (w/o servers)
proto recv-q send-q local address foreign address state
tcp 0 0 124.1.1.68:49995 218.66.170.184:10991 established
tcp 0 0 ::ffff:118.26.96.1:ssh ::ffff:118.26.96.248:41077 established
tcp 0 0 ::ffff:118.26.96.1:ssh ::ffff:118.26.96.248:42562 established 用
lsof -i :39733
檢視埠的程序,kill就可以了
一篇部落格的解決辦法:
從伺服器上使用命令sar -n dev 1 4 ,確實出現大量發包的問題,(下邊是正常的,異常的情況eth0txpck/s 10000左右了)
先進行限速或者拔掉網線:
開始之前,先要清除 eth0所有佇列規則
tc qdisc del dev eth0 root 2> /dev/null > /dev/null
1) 定義最頂層(根)佇列規則,並指定 default 類別編號
tc qdisc add dev eth0 root handle 1: htb default 20
tc class add dev eth0 parent 1: classid 1:20 htb rate 2000kbit
(1kb/s = 8kbit/s)
tc命令格式:
tc qdisc
[ add | change | replace | link ]
dev dev
[ parent qdisc-id | root ] [ handle qdisc-id ]
qdisc
[ qdisc specific parameters ]
tc class
[ add | change | replace ]
dev dev parent qdisc-id
[ classid class-id ]
qdisc
[ qdisc specific parameters ]
tc filter
[ add | change | replace ]
dev dev
[ parent qdisc-id | root ]
protocol protocol prio priority filtertype
[ filtertype specific parameters ]
flowid flow-id 顯示
tc [-s | -d ] qdisc show [ dev dev ]
tc [-s | -d ] class show dev dev tc filter show dev dev
檢視tc的狀態
tc -s -d qdisc show dev eth0
tc -s -d class show dev eth0
刪除tc規則
tc qdisc del dev eth0 root
檢視狀態:
topcpu和mem都正常,看不出異常的程序。
yum install -y tcpdump
tcpdump -nn
找到大量的ip位址
本機(192.168.35.145)和主機114.114.110.110之間的資料
tcpdump -n -i eth0 host 192.168.35.145 and 114.114.110.110
還有擷取全部進入伺服器的資料可以使用以下的格式
tcpdump -n -i eth0 dst 192.168.35.145
或者伺服器有多個ip 可以使用引數
tcpdump -n -i eth0 dst 192.168.35.145 or 192.168.35.155
我們抓取全部進入伺服器的tcp資料報使用以下的格式,大家可以參考下
tcpdump -n -i eth0 dst 192.168.35.145 or 192.168.35.155 and tcp
從本機出去的資料報
tcpdump -n -i eth0 src 192.168.35.145 or 192.168.35.155
tcpdump -n -i eth0 src 192.168.35.145 or 192.168.35.155 and port ! 22 and tcp
或者可以條件可以是or 和 and 配合使用即可篩選出更好的結果。
可以將異常ip加入到/etc/hosts.deny中,或者防火牆設定下
nethogs
檢視網路使用情況
wget
rpm -uvh epel-release-6-8.noarch.rpm
yum clean all
yum makecache
yum install nethogs -y
nethogs
下圖顯示各程序當前網路使用情況:
按「m」鍵可以切換到統計檢視,顯示各程序總的網路使用情況
-v : 顯示版本資訊,注意是大寫字母v.
-d : 延遲更新重新整理速率,以秒為單位。預設值為 1.
-t : 跟蹤模式.
-b : bug 狩獵模式 — — 意味著跟蹤模式.
-p : 混合模式(不推薦).
裝置 : 要監視的裝置名稱. 預設為 eth0
當 nethogs 執行時, 按:
q: 退出
m: 總數和當前使用情況模式之間切換
找到大量發包的程序,之後kill掉,再排查下這個程序是什麼程式,檔案路徑在**,刪除掉異常的檔案。
個人學習筆記,不當之處還請指正。
----------不定期更新------------
Linux伺服器大量向外發包問題排查
從伺服器上使用命令sar n dev 2 10 確實出現大量發包的問題,下邊是正常的,異常的情況eth0txpck s 10000左右了 先進行限速或者拔掉網線 開始之前,先要清除 eth0所有佇列規則 tc qdisc del dev eth0 root 2 dev null dev null 1...
客戶端,伺服器發包走向
多執行緒模式 其實這個早看過了,在複習一下 主線程建立四個子執行緒,乙個執行緒乙個event base,專門派發這個 有個監聽執行緒,在監聽執行緒收到連線之後輪詢選擇乙個執行緒就交給他處理了,其實就這麼簡單 在看看包走向 客戶端發過來的 加入以登入為例 不知客戶端是不是走這一套 1.先打包成prot...
伺服器安裝Linux伺服器
新辦公需要搭建一台伺服器,之前也沒有怎麼搞過,不過有一些了解,於是和同事一起嘗試安裝一下伺服器。本人使用ultraiso燒錄u盤,系統檔案是centos 6.6 x86 64 bin 1.ios,使用urtraiso開啟iso檔案,然後如下圖 接著就可以寫入,u盤會被格式化的,注意備份,等待寫入就可...