1. 程式人生 > >統計特定狀態碼的IP列表並計算其訪問次數

統計特定狀態碼的IP列表並計算其訪問次數

web訪問日誌access.log的格式如下,請編寫shell指令碼統計8.14當天訪問web伺服器返回非200狀態碼IP列表並計算其訪問次數,由高到低排序。

0.001 215.26.54.129 -- [14/Aug/2016:02:56:50 +0800] "GET / HTTP/1.1" 400 1162 "-"
0.001 215.26.16.26 -- [14/Aug/2016:02:56:50 +0800] "GET / HTTP/1.1" 200 1162 "-"
0.001 215.26.16.26 -- [15/Aug/2016:02:56:50 +0800] "GET / HTTP/1.1" 200 1162 "-"
0.001 215.26.16.26 -- [14/Aug/2016:02:56:50 +0800] "GET / HTTP/1.1" 300 1162 "-"
0.001 215.26.16.240 -- [14/Aug/2016:02:56:50 +0800] "GET / HTTP/1.1" 500 1162 "-"
0.001 215.26.16.240 -- [14/Aug/2016:02:56:50 +0800] "GET / HTTP/1.1" 500 1162 "-"
0.001 215.26.200.2 -- [14/Aug/2016:02:56:50 +0800] "GET / HTTP/1.1" 500 1162 "-"
grep '14/Aug' access.log | awk '$9!=200 {ip[$2]++} END {for (i in ip) print ip[i],i}' | sort -nr

grep過濾出日期為8月14的行;
awk對符合條件的行進行統計;
sort對最終的結果進行排序;
在這裡插入圖片描述

相關推薦

統計特定狀態IP列表計算訪問次數

web訪問日誌access.log的格式如下,請編寫shell指令碼統計8.14當天訪問web伺服器返回非200狀態碼IP列表並計算其訪問次數,由高到低排序。 0.001 215.26.54.129 -- [14/Aug/2016:02:56:50 +0800]

處理scrapy爬蟲,返回狀態,ip超時返回請求重新爬取

簡單粗暴些,利用scrapy 框架原理自定義middleware 處理狀態碼異常,ip 超時的異常,重現傳送請求, 這裡需要重寫scrapy 內建的中介軟體 RetryMiddleware, middlewares.py class Process_Proxies(R

鍵盤輸入10個數,統計非正數的個數,計算非正數的和

#include <stdio.h> #define MAX 1000 #include <string.h> int main() { int count = 0; int sum = 0 ; int a[10]; for (int

OPENCV檢測矩形計算中心

#include "cv.h"   #include "highgui.h"   #include <stdio.h>   #include <math.h>   #include <string.h>      #pragma comm

C++ 捕獲本機網絡卡的IP解析的實現

程式設計要求:捕獲本機網絡卡的IP包,對捕獲的IP包進行解析。要求必須輸出以下欄位:版本號、總長度、標誌位、片偏移、協議、源地址和目的地址。 TCP/IP協議定義了一個在因特網上傳輸的包,稱為IP資料報(IP Datagram).這是一個與硬體無關的虛擬包,由首部和資料兩

生產環境常見的HTTP狀態列表

http 狀態碼生產環境常見的HTTP狀態碼列表(List of HTTP status codes)說明:求精不求多,有舍才有得 不一樣的思維不一樣的精彩。200 - OK,服務器成功返回網頁 - Standard response for successful HTTP requests.301

TCP/IP 最常見的錯誤原因 (errno)列表

軟件 被拒絕 pan 文件描述符 數據庫管理 set socket 識別 linu 對於在基於 UNIX 的環境中的 TCP/IP 用戶,下表列出了某些最常見的錯誤原因碼 (errno)。它不是完整的錯誤列表。可以在文件 /usr/include/sys/errno.h 中

HTTP狀態列表

修改 太多的 解釋 禁止ip cati 產生 ip地址 str 網絡訪問 經常用的http狀態碼 1xx消息——請求已被服務器接收,繼續處理2xx成功——請求已成功被服務器接收、理解、並接受3xx重定向—&mda

常見HTTP狀態列表

expec 成功 other required acc url 資源 暫時 部分 HTTP狀態碼 參考網址:http://www.cnblogs.com/52php/p/5658326.html 當瀏覽者訪問一個網頁時,瀏覽者的瀏覽器會向網頁所在服務器發出請求。當瀏覽

python掃描proxy獲取可用代理ip列表

[1] randint XP self. 希望 agen 不可用 今天 只需要 mac或linux下可以work的代碼如下: # coding=utf-8 import requests import re from bs4 import BeautifulSoup

用Java發起HTTP請求與獲取狀態(含狀態列表)

滿足 null timeout etc default 語法 訪問 網頁 trace 轉自:https://blog.csdn.net/xyw591238/article/details/51072697 在使用Java請求Web程序比如訪問WebService接口時,通

awk陣列例項1:統計訪問web的日誌使用者IP數量排序

[email protected] logs] cat access_log 10.12.29.250 - - [10/Oct/2017:10:41:19 +0800] "GET /favicon.ico HTTP/1.1" 404 209 10.12.29.250 - - [10/Oct

ELK收集Apache的json格式訪問日誌狀態繪制圖表

應用 日誌采集 combined ali vpd href 刪除 kibana elastic 前言 需求說明: 部署一個Apache,收集Apache的json格式訪問日誌,並且將訪問日誌的狀態碼在kibana上繪制餅狀圖,添加到kibana的dashboard。 環境說

C語言程式設計基礎— 一維陣列 (程式設計實現從鍵盤輸入20個整數,統計非負數個數,計算非負數之和。)

程式設計基礎—一維陣列 (程式設計實現從鍵盤輸入20個整數,統計非負數個數,並計算非負數之和。) #include<stdio.h> int main() { int a[20] ; int k=0,sum=0,i; for (i=0;i<20

使用Python 統計nginx日誌前十ip訪問量以柱狀圖顯示

指令碼內容: import matplotlib.pyplot as plt # nginx_file = '10.6.11.91_access.log-2018-12-27' ip = {} #篩選nginx日誌檔案中的IP with open(nginx_file) as f: for

C++統計正數數目和負數的數目,計算平均值

編寫一個程式,讀入整數,數目未定,統計讀入的正數數目和負數的數目,並計算平均值、如果讀入的是0,程式終止。平均值以浮點數形式顯示 #include <iostream> using namespace std; void main() {     int p

已知IP地址,如何計算子網掩,預設閘道器地址,網路地址等。

首先要鋪墊一些基礎知識,整個網際網路就是一個單一的、抽象的網路。IP地址就是給網際網路上的每一臺主機(或路由器)的每一個介面分配一個在全世界範圍內是唯一的 32 位的識別符號。注意,每個IP地址都是獨一無二的,就像人的身份證號碼一樣。 而IP地址又分為A類

Java傳送Http請求獲取狀態

通過Java傳送url請求,檢視該url是否有效,這時我們可以通過獲取狀態碼來判斷。 try { URL u = new URL("http://10.1.2.8:8080/fqz/page/qizha/pros_add.jsp"); tr

使用vue,axios開發下的跨域設定(狀態200,返回資料了,但是瀏覽器攔截報錯)

本人菜鳥學徒一隻,幾天遇到了用vue,axios寫專案時的坑,在請求資料介面的時候,明明用get方式請求成功,json資料也返回到後臺了,偏偏控制檯報錯,提示'Access-Control-Allow-Origin'';網上找了一個天,各種方法都試過,都不奏效,凌晨終於找到了

IP&IP地址、ipv4&ipv6、子網掩、網段計算、網路廣播ID計算、預設閘道器、DNS伺服器、DHCP伺服器

文章是學習各方知識的總結,力求言簡意賅。 IP和IP地址: IP(Internet Protocol)網路之間互連的協議(網協)。 網路之間互連的協議:為計算機網路相互連線進行通訊而設計的協議。在因特網中,它是能使連線到網上的所有計算機網路實現相互