/MEGOLDVA/ log fájlból IP szűrése

Fórumok

Adott egy 1.log . Ebben a weboldal látogatottság van elmentve, amibe benne vannak a robotok is. A botokat így szűrtem konzolban: grep -vi 'bot' 1.log > ~/Desktop/2.log . Ez már a /Bot megjegyzésű sorokat kigyomlálta. Következett az azonos IP címek kitakarítása úgy, hogy minden IP címből csak 1db maradhatott a listában: awk '!seen[$1]++' 2.log > ~/Desktop/3.log . Itt már minden IP címből csak 1db található a listában, de így is egy havi adatmennyiségben többezer sor van.

Szeretném azt elérni, hogy kiírassam a valódi látogatókat számszerűen. Tudom, vannak VPN látogatások is, amit esetleg Botok generálhatnak, mégsem szeretném ezt figyelmen kívül hagyni, hiszen vannak többen is ma már, akik VPN-t használnak akár a böngészésükre is.

A .log fájlt cpanel generálta.

Kiegészítés: A sorok elején vannak az IP címek, bár ha legurigázok a kwrite-ben, mutatja a sorok számát, ám tudnék annak örülni, ha számokkal is ki tudnám íratni a sorok számát.

 

Megoldás: 

kdialog --title "AWStat eredmény" --msgbox "Egyedi IP címek száma: $COUNT"  kellett még a scriptem végére és egy ikonnal már indul is egy kis ablakban a sorok száma. Egyelőre csak annyi a dolgom, hogy a szerverről leszedem a logot egy könyvtárba és onnantól ikonról klikkelve megjelenik egy kis ablakban a végeredmény.

Hozzászólások

de így is egy havi adatmennyiségben többezer sor van

Ez valami pornószájt vagy ingyen pénzosztást hirdet? Ügyes a marketinges.

wc -l 3.log konzolban, így már tudom a sorok számát, tehát ennyi egyedi IP volt egy hónap alatt és igen, jelenleg többezer. Persze így a számokat és a fájlnevet adja ki, de ezzel már csak a számokat mutatja: wc -l < 3.log .

Most megpróbálom grafikusan is megjeleníteni, egyelőre keresem a megoldást rá.

kdialog --title "AWStat eredmény" --msgbox "Egyedi IP címek száma: $COUNT"  kellett még a scriptem végére és egy ikonnal már indul is egy kis ablakban a sorok száma. Egyelőre csak annyi a dolgom, hogy a szerverről leszedem a logot egy könyvtárba és onnantól ikonról klikkelve megjelenik egy kis ablakban a végeredmény.

Szerkesztve: 2025. 06. 02., h – 11:15

Én erre egy sokkal belfékebb megoldást csinálok, ha a log file-ból akarok IP címeket kivadászni, általában bannolás céljára, saját magamnak. Azért írtam le, hogy meglegyen nekem is.

A logot exportálom csv-be, bármibe, mert a desktop gépem nem linuxos.

A logot tisztítom, elsőnek Notepad++-szal sorbarendezem. Így a sikeres belépések máshová kerülnek, mint a hibás belépések.

A sikeres belépéseket kitörlöm, csak a sikertelenek maradtak.

Ezután csere (CTRL+H) --> keresés: ^.+?((?:\d+\.){3}\d+).+$ 

csere: $1

wrap around és Regular expression legyen bepipálva, 

. matches newline ne legyen bepipálva

Eztán mehet is a csere mindegyikre. A maradékot elmentem ban.txt-nek, és mehet a banlistre. Ha percenként csak 1 hibás lekérést hajt végre a csávó, a failtoban nem tiltja ki. Manapság nem 1 ip címről jönnek, hanem sokszázról és mindegyik percenként 1-et próbál.

Komolyan nem ertem a problemat. Ha mar egyszer ugyis AWK varazslo vagy, akkor miert nem egybol azzal iratod ki azt, es ahogyan neked kell?