自己的小網(wǎng)站跑在阿里云的 ECS 上面, 偶爾也去分析分析自己網(wǎng)站服務(wù)器日志,看看網(wǎng)站的訪(fǎng)問(wèn)量??纯从袥](méi)有黑客搞破壞!于是收集,整理一些服務(wù)器日志分析命令,大家可以試試!
1、查看有多少個(gè)IP訪(fǎng)問(wèn):
2、查看某一個(gè)頁(yè)面被訪(fǎng)問(wèn)的次數(shù):
3、查看每一個(gè)IP訪(fǎng)問(wèn)了多少個(gè)頁(yè)面:
4、將每個(gè)IP訪(fǎng)問(wèn)的頁(yè)面數(shù)進(jìn)行從小到大排序:
5、查看某一個(gè)IP訪(fǎng)問(wèn)了哪些頁(yè)面:
6、去掉搜索引擎統(tǒng)計(jì)的頁(yè)面:
7、查看2015年8月16日14時(shí)這一個(gè)小時(shí)內(nèi)有多少I(mǎi)P訪(fǎng)問(wèn):
8、查看訪(fǎng)問(wèn)前十個(gè)ip地址
uniq -c 相當(dāng)于分組統(tǒng)計(jì)并把統(tǒng)計(jì)數(shù)放在最前面
9、訪(fǎng)問(wèn)次數(shù)最多的10個(gè)文件或頁(yè)面
訪(fǎng)問(wèn)量最大的前20個(gè)ip
10、通過(guò)子域名訪(fǎng)問(wèn)次數(shù),依據(jù)referer來(lái)計(jì)算,稍有不準(zhǔn)
11、列出傳輸大小最大的幾個(gè)文件
12、列出輸出大于200000byte(約200kb)的頁(yè)面以及對(duì)應(yīng)頁(yè)面發(fā)生次數(shù)
13、如果日志最后一列記錄的是頁(yè)面文件傳輸時(shí)間,則有列出到客戶(hù)端最耗時(shí)的頁(yè)面
14、列出最最耗時(shí)的頁(yè)面(超過(guò)60秒的)的以及對(duì)應(yīng)頁(yè)面發(fā)生次數(shù)
15、列出傳輸時(shí)間超過(guò) 30 秒的文件
16、列出當(dāng)前服務(wù)器每一進(jìn)程運(yùn)行的數(shù)量,倒序排列
17、查看apache當(dāng)前并發(fā)訪(fǎng)問(wèn)數(shù)
對(duì)比httpd.conf中MaxClients的數(shù)字差距多少
18、可以使用如下參數(shù)查看數(shù)據(jù)
統(tǒng)計(jì)httpd進(jìn)程數(shù),連個(gè)請(qǐng)求會(huì)啟動(dòng)一個(gè)進(jìn)程,使用于Apache服務(wù)器。
表示Apache能夠處理1388個(gè)并發(fā)請(qǐng)求,這個(gè)值A(chǔ)pache可根據(jù)負(fù)載情況自動(dòng)調(diào)整
netstat -an會(huì)打印系統(tǒng)當(dāng)前網(wǎng)絡(luò)鏈接狀態(tài),而grep -i “80”是用來(lái)提取與80端口有關(guān)的連接的,wc -l進(jìn)行連接數(shù)統(tǒng)計(jì)。
最終返回的數(shù)字就是當(dāng)前所有80端口的請(qǐng)求總數(shù)
netstat -an會(huì)打印系統(tǒng)當(dāng)前網(wǎng)絡(luò)鏈接狀態(tài),而grep ESTABLISHED 提取出已建立連接的信息。然后wc -l統(tǒng)計(jì)。
最終返回的數(shù)字就是當(dāng)前所有80端口的已建立連接的總數(shù)。
可查看所有建立連接的詳細(xì)記錄
19、輸出每個(gè)ip的連接數(shù),以及總的各個(gè)狀態(tài)的連接數(shù)
20、其他的收集
分析日志文件下 2012-05-04 訪(fǎng)問(wèn)頁(yè)面最高 的前20個(gè) URL 并排序
查詢(xún)受訪(fǎng)問(wèn)頁(yè)面的URL地址中 含有 www.abc.com 網(wǎng)址的 IP 地址
獲取訪(fǎng)問(wèn)最高的10個(gè)IP地址 同時(shí)也可以按時(shí)間來(lái)查詢(xún)
時(shí)間段查詢(xún)?nèi)罩緯r(shí)間段的情況
分析 2015/8/15 到 2015/8/16 訪(fǎng)問(wèn)”/index.php?g=Member&m=Public&a=sendValidCode”的IP倒序排列
(7里面包含.php的就輸出,本句的意思是最耗時(shí)的一百個(gè)PHP頁(yè)面
列出最最耗時(shí)的頁(yè)面(超過(guò)60秒的)的以及對(duì)應(yīng)頁(yè)面發(fā)生次數(shù)
統(tǒng)計(jì)網(wǎng)站流量(G)
統(tǒng)計(jì)404的連接
統(tǒng)計(jì)http status
每秒并發(fā)
帶寬統(tǒng)計(jì)
找出某天訪(fǎng)問(wèn)次數(shù)最多的10個(gè)IP
當(dāng)天ip連接數(shù)最高的ip都在干些什么
小時(shí)單位里ip連接數(shù)最多的10個(gè)時(shí)段
找出訪(fǎng)問(wèn)次數(shù)最多的幾個(gè)分鐘
取5分鐘日志
則判斷開(kāi)始時(shí)間戳與結(jié)束時(shí)間戳是否相等
#如果不相等,則取出開(kāi)始時(shí)間戳的行號(hào),與結(jié)束時(shí)間戳的行號(hào)
查看tcp的鏈接狀態(tài)
查找請(qǐng)求數(shù)前20個(gè)IP(常用于查找攻來(lái)源):
用tcpdump嗅探80端口的訪(fǎng)問(wèn)看看誰(shuí)最高
查找較多time_wait連接
找查較多的SYN連接
根據(jù)端口列進(jìn)程
查看了連接數(shù)和當(dāng)前的連接數(shù)
查看IP訪(fǎng)問(wèn)次數(shù)
Linux命令分析當(dāng)前的鏈接狀況
通過(guò)watch可以一直監(jiān)控
LAST_ACK 5 #關(guān)閉一個(gè)TCP連接需要從兩個(gè)方向上分別進(jìn)行關(guān)閉,雙方都是通過(guò)發(fā)送FIN來(lái)表示單方向數(shù)據(jù)的關(guān)閉,當(dāng)通信雙方發(fā)送了最后一個(gè)FIN的時(shí)候,發(fā)送方此時(shí)處于LAST_ACK狀態(tài),當(dāng)發(fā)送方收到對(duì)方的確認(rèn)(Fin的Ack確認(rèn))后才真正關(guān)閉整個(gè)TCP連接;
SYN_RECV 30 # 表示正在等待處理的請(qǐng)求數(shù);
ESTABLISHED 1597 # 表示正常數(shù)據(jù)傳輸狀態(tài);
FIN_WAIT1 51 # 表示server端主動(dòng)要求關(guān)閉tcp連接;
FIN_WAIT2 504 # 表示客戶(hù)端中斷連接;
TIME_WAIT 1057 # 表示處理完畢,等待超時(shí)結(jié)束的請(qǐng)求數(shù)。