Linux伺服器發包

2021-07-23 19:08:06 字數 4792 閱讀 9139

關於伺服器網路流量異常,卡死,遭受入侵,對外發包...

以下只是一些小工具,用於檢測流量及哪些程序有問題,需要豐富的經驗配合。

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盤會被格式化的,注意備份,等待寫入就可...