MaTyyy 2 Zgłoś post Napisano Listopad 10, 2013 (edytowany) 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 Listopad 10, 2013 przez MaTyyy (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
MaTyyy 2 Zgłoś post Napisano Listopad 13, 2013 @REF? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Listopad 14, 2013 Moze explode i petla? Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Listopad 14, 2013 To ma byc w bashu, php, ...? Udostępnij ten post Link to postu Udostępnij na innych stronach
igor_s 30 Zgłoś post Napisano Listopad 14, 2013 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
elcct 159 Zgłoś post Napisano Listopad 14, 2013 $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
MaTyyy 2 Zgłoś post Napisano Listopad 14, 2013 @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