Ralf Hüsing

Dezember 11, 2006

logrotate Dateien invertiert ausgeben

Abgelegt unter: Programmierung — ralf @ 10:33 pm

Logrotate erstellt Dateien im Format von beispielsweise:

Datei.11.gz
Datei.10.gz
Datei.9.gz
...
Datei.2.gz
Datei.1
Datei

Möchte man nun Script gesteuert diese ganzen rotiertierten Dateien zu einer Datei verketten muss man diese Dateiliste verkehrt herum abarbeiten und den Inhalt mit zcat bzw. cat in eine neue Datei verschieben.

Ein großes Problem hierbei ist das invertierte Durchlaufen der Dateien. Ein sortiertes ls bzw. die Verwendung von sort hilft hier nicht wirklich weiter.

Folgender kleiner Shell/Perl Schnippsel löst das Problem:

for log in $(ls -1 Datei* | perl -lne '{/\d+/;$s[$&]=$_}END{print while$_=pop@s}’); do
# was auch immer nun $log getan werden soll
done

Geht der Perl Code kürzer?

Mit dank an Paul Buetow für den Tipp dass man bei Perl’s while keine Klammern benötigt.

ScanJet Music

Abgelegt unter: Hirndefekt — ralf @ 7:30 pm

Music? On a Scanner???

Sollte der Video Download Link auf der Seite nicht funktionieren gibts das Video auch hier (1.4M, MPG).

Dezember 9, 2006

MaxKeepAliveRequests umgehen

Abgelegt unter: Sonstiges — ralf @ 12:56 pm

HTTP ermöglicht das Offenhalten einer Verbindung um später weitere Anfragen über den selben Socket zu schicken. Dies minimiert den Overhead eines ständigen Verbindungsauf/ab-baus.

Im Apache Webserver gibt es eine Konfigurationsanweisung MaxKeepAliveRequests die die maximale Anzahl von Anfragen für eine solche offen gehaltene Verbindung bestimmt. Setzt man den Wert Beispielsweise auf 10 können in dieser einen Verbindung nur 10 Anfragen gestartet werden, danach wird der Server die Verbindung trennen.

Soweit so gut.

Nun gibt es das HTTP Feature “Range” was teilweise Dateiübertragung ermöglicht. Es ist mit Range weiterhin möglich mehrere Teile einer Datei anzufragen.
Ein HTTP Header wie etwa “Range: bytes=0-1,1-2,3-4″ würde somit jeweils das erste, zweite und dritte Byte der angeforderten Datei liefern. Eine spezielle Syntax davon ist “0-” was in etwa bedeutet schicke ab Byte 0 (Dateianfang) alles bis zum Ende der Datei.

Interessant ist das in Apache diese Range Requests nicht als KeepAlive Requests gezählt werden. Das bedeutet das obiges Beispiel mit den drei Bytes nur als ein Request gezählt wird.

Nun kann man sich ein kleines Perlscript schustern was in etwa wie folgt aussieht:

perl -e 'print "GET / HTTP/1.1\r\nHost: localhost\r\nConnection: Keep-Alive\r\nRange: bytes=" . "0-," x 1000 . "\r\n\r\n"' | nc webserver 80

Dieser kleine Code Schnippsel schickt eine Anfrage die eintausend nicht gezählte Subrequests beinhaltet.

Dezember 8, 2006

Alles dreht sich!

Abgelegt unter: Sonstiges — ralf @ 3:49 pm

Ein Kollege stellte mir heute morgen eine interessante EMail zu.

Ruft man im Browser eine x-beliebige Seite, die Bilder enthält, auf und fügt dann folgenden Javascript Code in der Adresszeile ein geschehen seltsame Dinge!

Wichtig ist das es eine Zeile ist, also am besten den folgenden Text in einen Editor kopieren und die Zeilenumbrüche entfernen.

javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24;
x4=300; y4=200; x5=300; y5=200; DI=document.getElementsByTagName
("img"); DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI
[ i ].style; DIS.position='absolute'; DIS.left=(Math.sin(R*x1+i*x2+x3)
*x4+x5)+"px"; DIS.top=(Math.cos(R*y1+i*y2+y3)*y4+y5)+"px"}R++}
setInterval('A()',5); void(0);

Dezember 7, 2006

interessantes zu malloc()

Abgelegt unter: Programmierung — ralf @ 10:00 pm

Beim lesen eines älteren Artikels auf Heise mit dem Titel “Verwundbar trotz No Execute” stieß ich auf einen sehr interessant und ausführlich beschriebene Möglichkeit wie man mittels malloc dynamisch allozierten Speicher gezielt überschreiben und für Exploits nutzen kann. Neben der eigentlichen Exploit Technik wird auch generell malloc () Plattform übergreifend beschrieben.

Dezember 2, 2006

Entstehung eines “Dove” Werbeplakates

Abgelegt unter: Videos — ralf @ 5:14 pm

Toll, myvideo.de ersetzt nicht mehr vorhandene Videos durch Werbung.
Deswegen hab ich diesen Beitrag entfernt.

Simpson’s Vorspann in Real

Abgelegt unter: Videos — ralf @ 5:12 pm

Toll, myvideo.de ersetzt nicht mehr vorhandene Videos durch Werbung.
Deswegen hab ich diesen Beitrag entfernt.

Powered by WordPress ( WordPress Deutschland )