Eerst de cursus afmaken en misschien dat we een dig-mod zover krijgen dat je naam in de hall of fame komtquote:Op woensdag 9 juni 2004 22:43 schreef ChOas het volgende:
Oh, en ik vraag me af wie ik moet pijpen voor een fucking schouderklopje, maar daar kom ik nog wel achter
Inderdaad, wat CybErik zegt. Je hebt het over een element uit de list, wat een scalar is, en geen list...quote:Op donderdag 10 juni 2004 15:34 schreef Wouta het volgende:
Sorry hoor dat ik weer een vraag ga stellen....
Ik heb een vraag over het volgende voorbeeld:
[..]
Dat werkt gewoon wat ik me nu af vraag is waarom er een $ staat ipv een @ als je de fruit soorten gaat printen. Ik heb er een @ neergezet en toen ging perl heel bijdehand mij vertellen dat ik beter een $ kon gebruken. Maar helemaal snappen waarom ik geen @ moeten gebruiken daar doe ik niet.
Iemand die dat even wat wil verhelderen ?
Een ander voorbeeld/quote:Op donderdag 10 juni 2004 15:34 schreef Wouta het volgende:
Ik heb een vraag over het volgende voorbeeld:
Even een hele snelle:quote:Op donderdag 10 juni 2004 21:08 schreef TimberWolf het volgende:
Even wat uitleg over de log, voor het geval begrip indeze handig is. Een apache log regel bestaat uit een vast aantal elementen, Beginnend met het 'Request IP', oftewel het IP adres van de webbrowser die de pagina opvraagt. Dan '\ \-\ \-\ ', oftewel spatie min spatie min spatie. Dan de datum, tijd en tijdzone-modifier tussen blokhaken. Als laatste de request zelf, dus de GETs en POSTs. Deze staan tussen quotes.
Overigens leuk te zien: Regel 4 is een of andere dwaas die een populair exploit voor IIS probeert uit te voeren. Dat gebeurd wel meer![]()
Wellicht is het leuk om via een regex de IP adressen uit de logfile te toveren? IP adressen zijn altijd wel leuk voor regex uitleg volgens mij
N.B. Denk er wel aan dat dat afhankelijk is van je logformaat in je httpd.conf. Er zijn wel een aantal "standaard" logformaten (bv LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined) maar de machine waarop je je paginaatje host kan een andere methode hebben.quote:Op donderdag 10 juni 2004 21:08 schreef TimberWolf het volgende:
Even wat uitleg over de log, voor het geval begrip indeze handig is. Een apache log regel bestaat uit een vast aantal elementen,
Mits HostnameLookups Off in httpd.conf:quote:Wellicht is het leuk om via een regex de IP adressen uit de logfile te toveren? IP adressen zijn altijd wel leuk voor regex uitleg volgens mij
Perl!quote:Op donderdag 10 juni 2004 22:02 schreef devzero het volgende:
[..]
N.B. Denk er wel aan dat dat afhankelijk is van je logformaat in je httpd.conf. Er zijn wel een aantal "standaard" logformaten (bv LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined) maar de machine waarop je je paginaatje host kan een andere methode hebben.
[..]
Mits HostnameLookups Off in httpd.conf:
awk '{print $1}' /var/log/httpd-access.log | sort | uniq -c | sort -n
quote:Op donderdag 10 juni 2004 22:15 schreef ChOas het volgende:
Perl!![]()
Overigens nog wat meer roet: vergeet niet dat je naast ipv4 nummers ook ipv6 nummers hebt. Bijvoorbeeld:quote:if (/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/) {$Once{$&}++};
quote:2001:838:9999:1234:201:2ff:fe10:62ca - - [10/Jun/2004:22:24:31 +0200] "GET / HTTP/1.1" 200 213 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7b) Gecko/20040421"
Dan gebruik je dezequote:Op donderdag 10 juni 2004 22:28 schreef devzero het volgende:
[..]
Moest even trollen. Maar perl is hier sneller, maar je gaat awk ook niet gebruiken om 1 string af te drukken.
[..]
Overigens nog wat meer roet: vergeet niet dat je naast ipv4 nummers ook ipv6 nummers hebt. Bijvoorbeeld:
[..]
Ok, daar heb je gelijk mee. Ik kan me alleen wel applicaties voorstellen waar je niet het hele address maar alleen het netwerk wil hebben (wat bij ipv6 makkelijk is, ipv4 hak je maar in het wilde weg zonder netmask, bv in squid.conf "client_netmask").quote:Op donderdag 10 juni 2004 22:32 schreef ChOas het volgende:
++$Once{substr $_,0,index $_," "}
Is sowieso takke sneller omdat je geen regex machine ingaat... je gaat er alleen maar vanuit dat het eerste element voor de spatie het adres is
Op gevoel zeg ik dat er de ip-adressen in staan (dat is wat de regex matched). De constructie $once{regexresultaat}++ snap ik zeg maar bijnaquote:Op donderdag 10 juni 2004 21:41 schreef ChOas het volgende:
my %Once;
while (<INPT>)
{
if (/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/) {$Once{$&}++};
};
Wat staat er nu in de hash %Once ?
Vanzelfsprekend. Maar er is natuurlijk via een regex-match wel te kijken welk logformat er gebruikt wordt. Aan het 'uiterlijk' van de data valt redelijk simpel te herkennen wat voor data het is tenslotte. Dit is overigens, voor zover ik weet, zo'n beetje de Apache default.quote:Op donderdag 10 juni 2004 22:02 schreef devzero het volgende:
N.B. Denk er wel aan dat dat afhankelijk is van je logformaat in je httpd.conf. Er zijn wel een aantal "standaard" logformaten (bv LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined) maar de machine waarop je je paginaatje host kan een andere methode hebben.
En die zijn leuker, want die bestaan niet altijd uit even veel octetsquote:Overigens nog wat meer roet: vergeet niet dat je naast ipv4 nummers ook ipv6 nummers hebt.
Cooool!... gefeliciteerd!!!quote:Op vrijdag 11 juni 2004 08:50 schreef TimberWolf het volgende:
Hah. Net mijn eerste Perl programma gemaakt. Ik ben zo blijStelt niet veel voor, maar werkt wel:
[ code ]
Je hebt hardgenoeg gezogen schouderklopjes :')quote:Op woensdag 9 juni 2004 22:43 schreef ChOas het volgende:
Oh, en ik vraag me af wie ik moet pijpen voor een fucking schouderklopje, maar daar kom ik nog wel achter
Jij ook al?quote:Op zaterdag 12 juni 2004 10:53 schreef Ferdy het volgende:
Zeer interessant topic!![]()
Als ik klaar ben met me repetitieweek ga ik ook maar eens Perl proberen![]()
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |