自己的小網站跑在阿里云的ECS上面,偶爾也去分析分析自己網站服務器日志,看看網站的訪問量。看看有沒有黑客搞破壞!于是收集,整理一些服務器日志分析命令,大家可以試試!
1、查看有多少個IP訪問:
awk?'{print?$1}'?log_file|sort|uniq|wc?-l
2、查看某一個頁面被訪問的次數:
grep?"/index.php"?log_file?|?wc?-l
3、查看每一個IP訪問了多少個頁面:
awk?'{++S[$1]}?END?{for?(a?in?S)?print?a,S[a]}'?log_file?>?log.txt?? ?? sort?-n?-t?'?'?-k?2?log.txt??#?配合sort進一步排序
4、將每個IP訪問的頁面數進行從小到大排序:
awk?'{++S[$1]}?END?{for?(a?in?S)?print?S[a],a}'?log_file?|?sort?-n
5、查看某一個IP訪問了哪些頁面:
grep?^111.111.111.111?log_file|?awk?'{print?$1,$7}'
6、去掉搜索引擎統計的頁面:
awk?'{print?$12,$1}'?log_file?|?grep?^"Mozilla?|?awk?'{print?$2}'?|sort?|?uniq?|?wc?-l
7、查看2015年8月16日14時這一個小時內有多少IP訪問:
awk?'{print?$4,$1}'?log_file?|?grep?16/Aug/2015:14?|?awk?'{print?$2}'|?sort?|?uniq?|?wc?-l
8、查看訪問前十個ip地址
awk?'{print?$1}'?|sort|uniq?-c|sort?-nr?|head?-10?access_log
uniq -c 相當于分組統計并把統計數放在最前面
cat?access.log|awk?'{print?$1}'|sort|uniq?-c|sort?-nr|head?-10?? ?? cat?access.log|awk?'{counts[$(11)]+=1};?END?{for(url?in?counts)?print?counts[url],?url}
9、訪問次數最多的10個文件或頁面
cat?log_file|awk?'{print?$11}'|sort|uniq?-c|sort?-nr?|?head?-10
**訪問量最大的前20個ip**
cat?log_file|awk?'{print?$11}'|sort|uniq?-c|sort?-nr|head?-20?? ?? awk?'{print?$1}'?log_file?|sort?-n?-r?|uniq?-c?|?sort?-n?-r?|?head?-20
10、通過子域名訪問次數,依據referer來計算,稍有不準
cat?access.log?|?awk?'{print?$11}'?|?sed?-e?'?s/http:////'?-e?'?s//.*//'?|?sort?|?uniq?-c?|?sort?-rn?|?head?-20
11、列出傳輸大小最大的幾個文件
cat?www.access.log?|awk?'($7~/.php/){print?$10?"?"?$1?"?"?$4?"?"?$7}'|sort?-nr|head?-100
12、列出輸出大于200000byte(約200kb)的頁面以及對應頁面發生次數
cat?www.access.log?|awk?'($10?>?200000?&&?$7~/.php/){print?$7}'|sort?-n|uniq?-c|sort?-nr|head?-100
13、如果日志最后一列記錄的是頁面文件傳輸時間,則有列出到客戶端最耗時的頁面
cat?www.access.log?|awk?'($7~/.php/){print?$NF?"?"?$1?"?"?$4?"?"?$7}'|sort?-nr|head?-100
14、列出最最耗時的頁面(超過60秒的)的以及對應頁面發生次數
cat?www.access.log?|awk?'($NF?>?60?&&?$7~/.php/){print?$7}'|sort?-n|uniq?-c|sort?-nr|head?-100
15、列出傳輸時間超過 30 秒的文件
cat?www.access.log?|awk?'($NF?>?30){print?$7}'|sort?-n|uniq?-c|sort?-nr|head?-20
16、列出當前服務器每一進程運行的數量,倒序排列
ps?-ef?|?awk?-F?'?'?'{print?$8?"?"?$9}'?|sort?|?uniq?-c?|sort?-nr?|head?-20
對比httpd.conf中MaxClients的數字差距多少
netstat?-an?|?grep?ESTABLISHED?|?wc?-l
18、可以使用如下參數查看數據
ps?-ef|grep?httpd|wc?-l?? 1388
統計httpd進程數,連個請求會啟動一個進程,使用于Apache服務器。
表示Apache能夠處理1388個并發請求,這個值Apache可根據負載情況自動調整
netstat?-nat|grep?-i?"80"|wc?-l?? 4341
netstat -an會打印系統當前網絡鏈接狀態,而grep -i “80”是用來提取與80端口有關的連接的,wc -l進行連接數統計。
最終返回的數字就是當前所有80端口的請求總數
netstat?-na|grep?ESTABLISHED|wc?-l?? 376
netstat -an會打印系統當前網絡鏈接狀態,而grep ESTABLISHED 提取出已建立連接的信息。然后wc -l統計
最終返回的數字就是當前所有80端口的已建立連接的總數。
netstat?-nat||grep?ESTABLISHED|wc
可查看所有建立連接的詳細記錄
19、輸出每個ip的連接數,以及總的各個狀態的連接數
netstat?-n?|?awk?'/^tcp/?{n=split($(NF-1),array,":");if(n<p style="margin-bottom: 0px;padding-top: 8px;padding-bottom: 8px;outline: 0px;color: rgb(0, 0, 0);font-size: 16px;letter-spacing: normal;text-align: left;text-wrap: wrap;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, " pingfang sc cambria cochin georgia times new roman serif rgb><span style="outline: 0px;font-size: 17px;"><strong style="outline: 0px;">20、其他的收集</strong></span></p><p style="margin-bottom: 0px;padding-top: 8px;padding-bottom: 8px;outline: 0px;color: rgb(0, 0, 0);font-size: 16px;letter-spacing: normal;text-align: left;text-wrap: wrap;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, " pingfang sc cambria cochin georgia times new roman serif rgb><span style="outline: 0px;font-size: 17px;"><strong style="outline: 0px;">分析日志文件下 2012-05-04 訪問頁面最高 的前20個 URL 并排序</strong></span></p><pre class="brush:php;toolbar:false;">cat?access.log?|grep?'04/May/2012'|?awk?'{print?$11}'|sort|uniq?-c|sort?-nr|head?-20
查詢受訪問頁面的URL地址中 含有 www.abc.com 網址的 IP 地址
cat?access_log?|?awk?'($11~/www.abc.com/){print?$1}'|sort|uniq?-c|sort?-nr
獲取訪問最高的10個IP地址 同時也可以按時間來查詢。另外,搜索公眾號linux就該這樣學后臺回復“Linux”,獲取一份驚喜禮包。
cat?linewow-access.log|awk?'{print?$1}'|sort|uniq?-c|sort?-nr|head?-10
時間段查詢日志時間段的情況
cat?log_file?|?egrep?'15/Aug/2015|16/Aug/2015'?|awk?'{print?$1}'|sort|uniq?-c|sort?-nr|head?-10
分析2015/8/15 到 2015/8/16 訪問”/index.php?g=Member&m=public&a=sendValidCode”的IP倒序排列
cat?log_file?|?egrep?'15/Aug/2015|16/Aug/2015'?|?awk?'{if($7?==?"/index.php?g=Member&m=Public&a=sendValidCode")?print?$1,$7}'|sort|uniq?-c|sort?-nr
cat?log_file?|awk?'($7~/.php/){print?$NF?"?"?$1?"?"?$4?"?"?$7}'|sort?-nr|head?-100
cat?access.log?|awk?'($NF?>?60?&&?$7~/.php/){print?$7}'|sort?-n|uniq?-c|sort?-nr|head?-100
cat?access.log?|awk?'{sum+=$10}?END?{print?sum/1024/1024/1024}'
awk?'($9?~/404/)'?access.log?|?awk?'{print?$9,$7}'?|?sort
cat?access.log?|awk?'{counts[$(9)]+=1};?END?{for(code?in?counts)?print?code,?counts[code]}'??? cat?access.log?|awk?'{print?$9}'|sort|uniq?-c|sort?-rn
watch?"awk?'{if($9~/200|30|404/)COUNT[$4]++}END{for(?a?in?COUNT)?print?a,COUNT[a]}'?log_file|sort?-k?2?-nr|head?-n10"
cat?apache.log?|awk?'{if($7~/GET/)?count++}END{print?"client_request="count}'??? cat?apache.log?|awk?'{BYTE+=$11}END{print?"client_kbyte_out="BYTE/1024"KB"}'
cat?/tmp/access.log?|?grep?"20/Mar/2011"?|awk?'{print?$3}'|sort?|uniq?-c|sort?-nr|head
cat?access.log?|?grep?"10.0.21.17"?|?awk?'{print?$8}'?|?sort?|?uniq?-c?|?sort?-nr?|?head?-n?10
awk?-vFS="[:]"?'{gsub("-.*","",$1);num[$2"?"$1]++}END{for(i?in?num)print?i,num[i]}'?log_file?|?sort?-n?-k?3?-r?|?head?-10
awk?'{print?$1}'?access.log?|?grep?"20/Mar/2011"?|cut?-c?14-18|sort|uniq?-c|sort?-nr|head
if?[?$DATE_MINUTE?!=?$DATE_END_MINUTE?]?;then??? #則判斷開始時間戳與結束時間戳是否相等
START_LINE=sed?-n?"/$DATE_MINUTE/="?$APACHE_LOG|head?-n1? #如果不相等,則取出開始時間戳的行號,與結束時間戳的行號
netstat?-nat?|awk?'{print?$6}'|sort|uniq?-c|sort?-rn??? ????? netstat?-n?|?awk?'/^tcp/?{++S[$NF]};END?{for(a?in?S)?print?a,?S[a]}'??? ?? netstat?-n?|?awk?'/^tcp/?{++state[$NF]};?END?{for(key?in?state)?print?key,"t",state[key]}'??? ????? netstat?-n?|?awk?'/^tcp/?{++arr[$NF]};END?{for(k?in?arr)?print?k,"t",arr[k]}'??? ????? netstat?-n?|awk?'/^tcp/?{print?$NF}'|sort|uniq?-c|sort?-rn??? ????? netstat?-ant?|?awk?'{print?$NF}'?|?grep?-v?'[a-z]'?|?sort?|?uniq?-cnetstat?-ant|awk?'/ip:80/{split($5,ip,":");++S[ip[1]]}END{for?(a?in?S)?print?S[a],a}'?|sort?-n??? ????? netstat?-ant|awk?'/:80/{split($5,ip,":");++S[ip[1]]}END{for?(a?in?S)?print?S[a],a}'?|sort?-rn|head?-n?10??? ?? awk?'BEGIN{printf?("http_codetcount_numn")}{COUNT[$10]++}END{for?(a?in?COUNT)?printf?a"tt"COUNT[a]"n"}'
netstat?-anlp|grep?80|grep?tcp|awk?'{print?$5}'|awk?-F:?'{print?$1}'|sort|uniq?-c|sort?-nr|head?-n20??? ?? netstat?-ant?|awk?'/:80/{split($5,ip,":");++A[ip[1]]}END{for(i?in?A)?print?A[i],i}'?|sort?-rn|head?-n20
牛逼啊!接私活必備的?N?個開源項目!趕快收藏
tcpdump?-i?eth0?-tnn?dst?port?80?-c?1000?|?awk?-F"."?'{print?$1"."$2"."$3"."$4}'?|?sort?|?uniq?-c?|?sort?-nr?|head?-20
netstat?-n|grep?TIME_WAIT|awk?'{print?$5}'|sort|uniq?-c|sort?-rn|head?-n20
netstat?-an?|?grep?SYN?|?awk?'{print?$5}'?|?awk?-F:?'{print?$1}'?|?sort?|?uniq?-c?|?sort?-nr?|?more
netstat?-ntlp?|?grep?80?|?awk?'{print?$7}'?|?cut?-d/?-f1
netstat?-ant?|?grep?$ip:80?|?wc?-l??? netstat?-ant?|?grep?$ip:80?|?grep?EST?|?wc?-l
netstat?-nat|grep?":80"|awk?'{print?$5}'?|awk?-F:?'{print?$1}'?|?sort|?uniq?-c|sort?-n
netstat?-n?|?awk?'/^tcp/?{++S[$NF]}?END?{for(a?in?S)?print?a,?S[a]}'?? ?? watch?"netstat?-n?|?awk?'/^tcp/?{++S[$NF]}?END?{for(a?in?S)?print?a,?S[a]}'"??? #?通過watch可以一直監控
LAST_ACK?5???#關閉一個TCP連接需要從兩個方向上分別進行關閉,雙方都是通過發送FIN來表示單方向數據的關閉,當通信雙方發送了最后一個FIN的時候,發送方此時處于LAST_ACK狀態,當發送方收到對方的確認(Fin的Ack確認)后才真正關閉整個TCP連接;?? SYN_RECV?30???????#?表示正在等待處理的請求數;?? ESTABLISHED?1597??#?表示正常數據傳輸狀態;??? FIN_WAIT1?51??????#?表示server端主動要求關閉tcp連接;??? FIN_WAIT2?504?????#?表示客戶端中斷連接;??? TIME_WAIT?1057????#?表示處理完畢,等待超時結束的請求數;
<br>

為了跟上AI時代我干了一件事兒,我創建了一個知識星球社群:ChartGPT與副業。想帶著大家一起探索ChatGPT和新的AI時代。有很多小伙伴搞不定ChatGPT賬號,于是我們決定,凡是這三天之內加入ChatPGT的小伙伴,我們直接送一個正常可用的永久ChatGPT獨立賬戶。
簡單說下這個星球能給大家提供什么: 星球分享: 1、不斷分享如何使用ChatGPT來完成各種任務,讓你更高效地使用ChatGPT,以及副業思考、變現思路、創業案例、落地案例分享。2、分享ChatGPT的使用方法、最新資訊、商業價值。3、探討未來關于ChatGPT的機遇,共同成長。4、幫助大家解決ChatGPT遇到的問題。5、不定期邀請大咖進行分享。6、提供一整年的售后服務,一起搞副業 星球福利:1、加入星球4天后,就送ChatGPT獨立賬號。2、邀請你加入ChatGPT會員交流群。3、贈送一份完整的ChatGPT手冊和66個ChatGPT副業賺錢手冊。 其它福利還在籌劃中...?不過,我給你大家保證,加入星球后,收獲的價值會遠遠大于今天加入的門票費用?! 本星球第一期原價399,目前屬于試運營,早鳥價139,每超過50人漲價10元,星球馬上要來一波大的漲價,如果你還在猶豫,可能最后就要以更高價格加入了。。 早就是優勢。建議大家盡早以便宜的價格加入!
? 聲明:本文部分素材轉載自互聯網,如有侵權立即刪除 。
<br>
往期精彩
<br>
喜歡本文的朋友們,歡迎長按下圖,關注訂閱號Linux中文社區
<br>
收看更多精彩內容