Skocz do zawartości
Zaloguj się, aby obserwować  
MaTyyy

Wyciąganie adresu IP z logów

Polecane posty

Witam,


potrzebuję napisać skrypt, który wyciągnie mi IP z logów.

Logi wyglądają tak:



DATA GODZINA [INFO] Disconnecting NICK [/IP:PORT]: Wykryto proxy, zrestartuj swój router.



Chciałbym wyciągnąć same IP, które jest po /. Wiem, że należy użyć funkcji preg_match(), ale nie wiem jak.

Edytowano przez MaTyyy (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sądząc po funkcji preg_match(), chcesz to zrobić w php. Nie jestem programistą php, ale tak na szybko powinno Ci wystarczyć.

function addressIP($string) {  
	
	$operatingArray = explode ("/", $string);
	$resultArray = explode (":",$operatingArray[1]);

	return $resultArray[0];
}

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
$line = 'DATA GODZINA [INFO] Disconnecting NICK /IP:127.0.0.1: Wykryto proxy, zrestartuj swój router.';

if (preg_match('/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/', $line, $match)) {
    if (filter_var($match[0], FILTER_VALIDATE_IP)) {
        echo 'IP: ' . $match[0];
    }
}

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@igor_s, @elecct dziękuję wam bardzo! :) Przyśpieszyło to bardzo moją pracę, walnąłem to w pętlę, dodałem sprawdzanie GEOIP i wszystkie rosyjskie, chińskie, brazylijskie itd ipki lecą do IPTables :)! Big THANKS! ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×