Aktueller Standort: Startseite> Neueste Artikel> Statistiken zur IP -Häufigkeit in der Protokollanalyse

Statistiken zur IP -Häufigkeit in der Protokollanalyse

M66 2025-06-07

Bei der Durchführung der Protokollanalyse müssen wir normalerweise die Häufigkeit des Auftretens verschiedener IP -Adressen zählen. PHP bietet viele leistungsstarke integrierte Funktionen, mit denen wir mit solchen Aufgaben umgehen können. Heute werden wir vorstellen, wie Sie die Funktion array_count_values ​​verwenden, um die Vorkommensfrequenz jeder IP im Protokoll zu zählen. Hier ist ein Beispielcode, der zeigt, wie die Funktion verwendet wird.

Schauen wir uns zunächst die Struktur des Protokolls an. Angenommen, wir haben eine Protokolldatei, jede Zeile zeichnet eine Zugriffsanforderung im Format wie folgt auf:

 2025-04-17 12:34:56 192.168.1.1 /home
2025-04-17 12:35:00 192.168.1.2 /about
2025-04-17 12:36:01 192.168.1.1 /contact
2025-04-17 12:37:02 192.168.1.3 /home
2025-04-17 12:38:05 192.168.1.1 /blog

Das obige Protokoll erfasst die IP -Adresse jedes Besuchers und auf den zugänglichen Seitenpfad. Unser Ziel ist es zu zählen, wie oft jede IP -Adresse im Protokoll angezeigt wird.

Schritt 1: Lesen Sie die Protokolldatei

Wir müssen zunächst den Inhalt der Protokolldatei in PHP lesen, die mithilfe von Dateifunktionen oder File_get_Contents implementiert werden können.

 <?php
// Lesen Sie Protokolldateien
$log = file('path_to_log_file.log');
?>

Schritt 2: Extrahieren Sie die IP -Adresse

Als nächstes müssen wir die IP -Adresse aus jeder Zeile extrahieren. Unter der Annahme, dass die IP -Adresse jeder Zeile im zweiten Feld des Protokolls aufgezeichnet wird, können wir den Inhalt jeder Zeile durch die Exploit -Funktion teilen und dann die IP -Adresse extrahieren.

 <?php
// Initialisieren Sie einen leeren Array -Laden IP Adresse
$ips = [];

foreach ($log as $line) {
    // Teilen Sie jede Linie mit Räumen auf,Annahmen IP Es ist das zweite Feld
    $parts = explode(' ', $line);
    // Wille IP Adresse添加到数组中
    $ips[] = $parts[1];
}
?>

Schritt 3: Verwenden Sie Array_Count_Values, um die Frequenz zu zählen

Sobald wir alle IP -Adressen extrahiert haben, können wir die Funktion von PHP von Array_Count_values ​​verwenden, um die Vorkommensfrequenz jeder IP -Adresse zu zählen.

 <?php
// Statistiken IP Adresse出现的频率
$ip_counts = array_count_values($ips);

// Ausgangsergebnis
foreach ($ip_counts as $ip => $count) {
    echo "IP: $ip - Count: $count\n";
}
?>

Schritt 4: Beispielausgabe

Wenn wir das folgende Protokoll haben:

 2025-04-17 12:34:56 192.168.1.1 /home
2025-04-17 12:35:00 192.168.1.2 /about
2025-04-17 12:36:01 192.168.1.1 /contact
2025-04-17 12:37:02 192.168.1.3 /home
2025-04-17 12:38:05 192.168.1.1 /blog

Nach dem Ausführen des PHP -Codes oben ist die Ausgabe:

 IP: 192.168.1.1 - Count: 3
IP: 192.168.1.2 - Count: 1
IP: 192.168.1.3 - Count: 1

Schritt 5: Ersetzen Sie den Namen der URL -Domänen im Protokoll

Angenommen, unser Protokoll enthält auch URLs, und die Domain -Namen dieser URLs müssen durch m66.net ersetzt werden. Wir können die Funktion str_replace verwenden, um sie zu implementieren.