2012 . JANUARY
SUN
MON
TUE
WED
THU
FRI
SAT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Werbeplatz (160x160px)
Wer Interesse hat kann sich bei mir via E-Mail melden.
.tel +49 173 4964512
December 15, 2011
Windows 2K8 R2 Edition Update
Mit Windows 7 und 2008 R2 ist es möglich die Edition zu upgraden. Keine lästige Neuinstallation mehr. Leider funktioniert das Ganze nur Aufwärts (z.B. Standard Edition zu Enterprise Edition). Alles was man für das Upgrade benötigt ist ein Produkt key der Zielversion.
Um fest zu stellen welche Version gerade läuft muss man folgendes in der Kommandozeile ausführen:
DISM /online /Get-CurrentEdition
Um die möglichen Upgrades anzuzeigen:
DISM /online /Get-TargetEditions
Und um das Upgrade zu starten:
DISM /online /Set-Edition:ServerEnterprise /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Leider klappt das Ganze nicht mit Volumenlizensen, jedoch gibt es einen Workaround von Microsoft zu dem Thema. Mann kann den folgenden Key nutzen
489J6-VHDMP-X63PK-3K798-CPX3Y
. Nach dem Upgrade kann man den Key wieder durch einen eigenen ersetzen.
December 2, 2011
F5 BIG IP http forwarding to https
To create a simple forwarding from http to https, select Virtual Server > iRules
when HTTP_REQUEST {
if { [TCP::local_port] == 80 }{
HTTP::respond 301 Location \"https://[getfield [HTTP::host] : 1][HTTP::uri]\"
}
}
November 24, 2011
Cyanogenmod Alpha 3
Die folgenden Dateien in das Verzeichnis cminstall kopieren:
moboot_0.3.3
update-cwm_tenderloin-1012
update-cm-7.1.0-tenderloin-a3-fullofbugs-signed
Dann einfach nur noch die Buttons drücken und es geht los. Sollte man im USB mode stucken einfach ON/OFF und den Menue Button drücken.
October 21, 2011
HP Touchpad
Schön mit Cyanogenmod 7.1
novacom boot mem:// < ACMEInstaller
October 20, 2011
F5 SSL Termination
SSL Termination in der Basis soll so funktionieren, dass der Client mit einem https Request auf dem LB aufschlägt und dieser in einen http Request umgewandelt wird. Somit muss der Virtual Server nach wie vor den Service Port 443 eingestellt haben. Als Besonderheit muss nun aber noch bei SSL Profile (Client) der Wert clientssl ausgewählt werden. Wichtig hierbei ist das SSL Profile (Server) weiterhin auf None eingestellt bleibt.
October 27, 2010
DNS - SOA Serial zurücksetzen
Hier eine Alternative zum Totalausfall, wenn die Seriennummer nicht korrekt im SOA RR Record gesetzt wurde.
Die Seriennummer Feld des SOA RR kann einen beliebigen Wert annehmen. Viele Nutzer nehmen, halten sich an die Konvention und verwenden ein Datumsformat das meist wie folgt definiert ist: yyyymmddss
YYYY die vierstellige Jahreszahl,
MM für die zweistellige Nummer des Monats,
dd ist die zweistellige Tag innerhalb Monatszahl
ss ist eine zweistellige laufende Nummer innerhalb des Tages.
Diese Konvention hat den Vorteil, dass sie relativ einfach zu bedienen ist und zeigt des Weiteren auch, wenn die Zone zuletzt geändert wurde – was gelegentlich sehr praktisch ist.
Da dieses Datums Format nur eine Konvention darstellt wird sie von BIND und der meisten anderen DNS-Software nicht überprüft. Es ist somit sehr leicht zu Fehler machen oder die richtige Reihenfolge Werte zu verdrehen. Der Zone Transfer Zone Slave(s) wird nur dann im Slave der Zonendatei ändert, wenn die Seriennummer des SOA RR rechnerisch größer ist als die vorherige (siehe RFC 1982).
Zur Veranschaulichung einer möglichen Korrektur wird davon ausgegangen, dass das heutige Datum der 28. Februar 2010 (Seriennummer 2010022800) ist. Wenn die fehlerhafte Eingabe einer Seriennummer kleiner als heute ist, das heißt, 2010022700, so ist das Update trivial: korrigieren Sie einfach die Seriennummer und laden sie die Zone mit BIND ( rndc reload). Wenn die Zahl zu hoch ist, hängt es davon ab, wie hoch die Zahl ist und wie häufig die Zonendatei geändert wird. Nehmen wir an die Seriennummer wurde auf 2010022900 geändert, wie wir alle wissen gibt es dieses Datum nicht.
Doch BIND prüft wie gesagt nicht nach Datum, somit fällt nicht auf das 2010 ein Schaltjahr ist. Wurde nun bereits ein Eintrag mit 29 geladen ist die einfache Lösung die Erhöhung der Serial auf 2003030100. Mit der laufenden Nummer kann man den Status Quo beibehalten bis der richtige Zeitpunkt erreicht ist (Morgen in diesem Fall). Dies funktioniert aber nur wenn Sie weniger als 99 Änderungen vornehmen, bis das neue Datum erreicht ist. Andernfalls haben Sie ein Problem.
Wenn alle schnellen Lösungen nicht praktikabel sind, zum Beispiel wenn die Seriennummer 2100022800 ist, ist es höchste Zeit den Taschenrechner rauszuholen. Die SOA Seriennummer ist ein vorzeichenloses 32-Bit-Feld mit einem maximalen Wert von ((2 ^ 32) -1). Somit müssen die Werte zwischen 0 und 4294967295 liegen(der Wert Null kann eine besondere Bedeutung in bestimmten DNS-Implementierungen haben und sollte daher vermieden).
Der höchst Zuwachs liegt also bei ((2 ^ 31) - 1) oder 2147483647 (erhöhen unserer Seriennummer um den maximalen Wert würde die gleiche Zahlergeben).
Mit dem höchsten Zuwachs, ist die Korrektur der Seriennummer mit zwei einfachen Schritten zu erledigen. Fügen Sie zuerst 2147483647 dem fehlerhaften Wert hinzu.
2100022800 + 2147483647 = 4247506447
Starten BIND oder laden Sie die Zone neu und achten Sie unbedingt darauf das die Zone auf alle Slave-Server übertragen wird. Im zweiten Schritt setzen die SOA Seriennummer für die Zone auf den richtigen Wert, und starten BIND oder laden Sie die Zone erneut. Die Zone wird auf den Slave übertragen, weil die Seriennummer durch Null ersetzt wurde und ist daher größer als der vorherige Wert von 4247506447!
Diese Methode funktioniert auch dann perfekt, wenn die Summe der aktuellen Seriennummer und 2147483647 den Wert 4294967295 überschreitet - in diesem Fall einfach die Seriennummer auf 4294967295 setzen und die erste Zone Transfer wie oben transferieren und laden. (Alle weiteren grausamen Details zu den Vergleichsalgorithmen findet man in RFC 1982.)
October 27, 2010
DNS - SOA entries anzeigen lassen
Das ist eigentlich nur dann interessant wenn man wissen will ob die DNS Server synchron sind. So kann man einfach prim and sec NS abfragen.
dig +nocmd [ZONE] any +multiline +noall +answer @[NAMESERVER]
example: dig +nocmd google.com any +multiline +noall +answer @a.prim-ns.de
September 24, 2010
Key aus der known_hosts entfernen
Wer kennt es nicht, wieder mal eine alten Server neu aufgestelt und schon kommt ein freundliches:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Den Key kann man kurzerhand entfernen indem man ihn aus der known_hosts rauslöscht. Die Zeile in der der Key steht wird bei der Fehlermeldung mit angegeben (in meinem Fall 410). Et voila!
sed -i \"410 d\" .ssh/known_hosts
July 30, 2010
NAT-IP ermitteln
Wie ermittle ich die NAT-IP?
wget -o /dev/null -O - http://checkip.dyndns.org | egrep -o \'([[:digit:]]{1,3}.[[:digit:]]{1,3}.[[:digit:]]{1,3}.[[:digit:]]{1,3}\'
July 30, 2010
NAT-IP ermitteln
Wie ermittle ich die NAT-IP?
wget -o /dev/null -O - http://checkip.dyndns.org | egrep -o \'([[:digit:]]{1,3}.[[:digit:]]{1,3}.[[:digit:]]{1,3}.[[:digit:]]{1,3}\'
May 7, 2010
SSH Tunnel aufbauen
Zuerst erstellt man auf der Maschine zu der man sich connecten will einen „vpn.sh“ Script. Mit folgendem Inhalt.
#!/bin/bash
#
#
ssh root@myinternetserver.org -f -C -N -R 13389:localhost:22 -D 60000
Dieses muss nun ausgeführt werden, noch kurz das Passwort eingeben wenn kein key hinterlegt ist. Nun Darf das Terminal nicht mehr beendet werden. Also Bildschirmsperre rein und goodbye!
Um nun Auf den Tunnel zuzugreifen reicht eigentlich ein kurzer ssh Aufruf. Aber um es noch komfortabler zu gestalten kann das ssh noch etwas verbessern.
Auf myinternetserver.org wird nun noch in /.ssh/config folgendes eingetragen(fehlt das File - einfach anlegen).
Host myhost
User myuser
Hostname localhost
Port 13389
Myhost ist in diesem Fall nur ein Bezeichner, kann also alles sein – denk dir was aus.
Nun wird bei dem Aufruf ssh myhost automatisch folgendes aufgerufen:
ssh myuser@localhost -p 13389
February 17, 2010
Akamai API mit PHP abfragen
Voraussetzung: PHP 5.0.0 und cURL 7.10.5 sowie Freischaltung des CP Codes zur Nutzung der API durch Akamai
Bei der Verwendung des HttpContentDeliveryReportService von Akamai stößt man aufgrund der ehr dürftigen Dokumentation relativ schnell an seine Grenzen. Hier nun ein kurzer Abriss wie man mit PHP und cURL eine SOAP Verbindung aufbaut um die API abzufragen.
Den eigentlichen SOAP Request hab ich in einer xml Datei abgelegt. Der Request an sich fragt die CP Codes mit allen informationen ab.
Dies lege ich mit PHP in einem String ab.
$request = file_get_contents(\"xml/getCPCodes.xml\");
Meine index.php ist relativ unspektakulär:
$request = file_get_contents(\"xml/getCPCodes.xml\");
echo $request;
echo \"Akamia API Test\";
// ist curl verfügbar wenn ja dann initialisieren
$curl = $f->initConnection();
// Tweed posten
$html = $f->requestAkamaiAPI($curl, $request);
echo $html;
// close curl
$f->closeCURL($curl);
Die $f ist meine factory die den eigentlichen Request abarbeitet.
class Factory
{
var $user = \"myuser\";
var $pass = \"mypass\";
var $url = \'https://control.akamai.com/nmrws/services/HttpContentDeliveryReportService\';
function initConnection()
{
if($handle = curl_init())
return $handle;
else exit(\"Initialisierung von curl nicht erfolgreich! (checkCURL)\");
}
function requestAkamaiAPI($curl, $request)
{
// URL angeben
curl_setopt($curl, CURLOPT_URL, $this->url);
// Rückgabewerte sollen verwendet werden
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// SOAP Action header, wird im wsdl file definiert.
curl_setopt ($curl, CURLOPT_HTTPHEADER, array(\'SOAPAction: \"\"\'));
// Authentifizierung
curl_setopt($curl, CURLOPT_USERPWD, \"$this->user:$this->pass\");
// POST Parameter definieren und angeben
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
// Rückgabe analog zu Listing 4 verarbeiten
$html = json_decode(curl_exec($curl));
return $html;
}
function closeCURL($curl)
{
// cURL schließen
curl_close($curl);
return true;
}
}
Wenn ich noch etwas Zeit finde werde ich mal einen längeren Beitrag dazu schreiben.
February 10, 2010
Kaffee Timer unter Linux
Es ist schon immer wieder interessant wozu man manche dinge missbrauchen kann.
sleep 5m && zenity --info --text=\"Kaffee ist fertig!!\"
Kleiner Tipp noch, am Besten man macht noch einen Alias dazu.
July 9, 2009
Code Test
A Litte code test comes up.
echo "Hallo Welt";
Best Stefan
July 9, 2009
Konvertierung von InnoDB zu MyISAM
Eigentlich ist das Ganze recht einfach, bei kleinen DB’s kann man es auch über phpMyAdmin realisieren. Wenn man nun aber Tabellen mit etlichen GB größe hat wird das ganze schon etwas komplizierter.
Erstmal sollte man kurz ein backup via shell ziehen(Option –C für die Kompression):
mysqldump -u root -p --opt -C --database --database mydb > /backup/mydb.sql
Da es schon mal etwas dauern kann mit einem
watch -d -n 5 'ls -lh mydb.sql'
Kann man den aktuellen fortschritt verfolgen –n 5 besagt das wir alle 5 Sekunden eine Aktualisierung wollen.
Nach dem Abschluss kann man sich nun einloggen und die richtige DB auswählen sowie das Statement absetzen.
mysql -u root –p
USE mydb;
SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' engine=MyISAM;') FROM information_schema.tables WHERE engine = 'InnoDB';
Die Ausgabe kann man sich direkt wieder ausführen lassen. Dabei stellte sich bei mir folgendes Problem wenn man Tabellen mit einer Größe von mehr als einem GB konvertieren möchte:
MySQL Error 1206 The total number of locks exceeds the lock table size
Nach einigen Fehleranalysen konnte ich feststellen das InnoDB die Transaktion auf Datensatzbasis sichert. Und nicht das Lock auf die Tabelle setzt. Auch hier gibt es wieder verschiedene Ansätze. Ein relativ einfacher ist das Ändern eines Eintrages in /etc/my.cnf
[mysqld]
innodb_buffer_pool_size=256M
Die Default-Einstellung ist 8M aber 256M sollte auch für Leute ohne Cluster funktionieren. Danach einen kurzen /etc/init.d/mysql restart und schon funktioniert alles. Die Statements werden nun auch für große Tabellen mit vielen Einträgen korrekt abgearbeitet.
June 19, 2009
Limp Bizkit Style…
In der Columbiahalle gaben sich diesmal Limp Bizkit die Ehre. In einer Location die kaum größer war als mein Wohnzimmer musste die Stimmung einfach gut sein.
Ohne eine Vorband ging es direkt zur Sache und aus der ruhenden Masse wurde der wütende Mop. Passend zum Beat hebte und senkte sich die Masse. Die Band gab einen Klassiker nach dem anderen zum Besten. Spätesten bei „Break Stuff“ war alles vorbei.
Fazit die Atmosphäre war klasse und die Belüftung war mehr als ungenügend. Alle Personen um einen herum waren klatschnass, also nichts für Leute die ein Problem damit haben. Gepogt wurde auch recht viel, deshalb war die Veranstaltung für die Menschen mit XX Chromosomen auch nur bedingt zu empfehlen war. Eventuell wäre es für diese auf der ersten Empore sicherer gewesen. Alles in allem aber ein Super Konzert.
June 4, 2009
SYN DoS (Flooding)
Das www bringt ja bekanntlich nicht nur interessierte Mitmenschen zu deiner Webseite auch der ein oder andere Scherzkeks ist im Netz unterwegs.
Solange der Webserver auch seine Daten korrekt ausliefert haben wir ja auch kein Problem. Lustig wir es erst wenn der Content nicht mehr ausgeliefert wird.
netstat –n –p tcp | grep SYN_R
Mit dieser Zeile kann man sich alle SYN_RECIVED anzeigen lassen.
Die SYN DoS funktioniert so, das ein SYN Request gestartet wird auf Basis des gewöhnlichen dreistufigen TCP Verbindungsaufbaus. Das Ziel wird mit fake IP-Paketen beschossen dabei wird ein Paket mit gesetztem SYN Flag gesendet. Unserer Host beantwortet dieses Paket mit einer Nachricht welche das SYN- und ACK-Flag gesetzt hat.
Da die IP-Adresse gefaket ist kommt zu keiner Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt im geöffneten Zustand und verbraucht Systemressourcen. Irgendwann kommt es zu einem Timeout der Verbindung.
Bei Windows kann das bis zu 96s dauern, in dieser Zeit kommen soviel neue Anfragen das der Server bei zu vielen Anfragen diese nicht mehr beantworten kann.
Bei einigen Servern soll die syncookies Einstellung Abhilfe schaffen (einfach mal auf 1 setzen).
cat proc/sys/net/ipv4/tcp_syncookies
echo 1 > proc/sys/ net/ipv4/tcp_syncookies
In unserem System haben wir aber den Loadbalancer umkonfiguriert und Sticky-Sessions deaktiviert. Was auch das Problem behoben hat.
May 29, 2009
Sonderzeichen auf der Mac Konsole
Wer kennt es nicht das Problem, Sonderzeichen auf dem MAC. Ob nun [ ] { } \ | oder ~ immer wieder fragt man sich wie mal als Terminalbenutzer Vernünftig arbeiten soll.
Die Lösung ist eigentlich recht einfach. Zuerst sollte man sich iTerm installieren. Da bei dieser Konsole doch recht weitreichende Konfigurationsmöglichkeiten bestehen ist es hier durchaus möglich eine eigene Tastenbelegung zu verwenden.
Nach der Installation von iTerm muss man nun X11 starten, wer es nicht schon im Dock hat einfach mal mit dem Finder suchen. Nach dem start von X11 kann man wieder in die Konsole wechseln und folgendes eingeben.
..stefans-macbook: xev
Auf dem Bildschirm erscheint nun ein kleines Fenster darin muss man nun den Mauszeiger hineinbewegen. Danach kann man recht einfach mit drücken einer entsprechenden Tastenkombination den Hex Code dieser Tastenkombination herausfinden.
Bsp. CMD + 7 entspricht 0x37
Nun muss man nur noch iTerm starten und auf Bookmarks klicken, dann Manage Profiles... und schon ist man im richtigen Menue.
Unter Keyboard Profiles wählt man am besten Global aus muss nur noch folgende Einstellungen vornehmen.
Key: hex code [0x37]
Modifier: Command
Action: send text [/]
[x] High interception priority
Und das war es schon, nun kann man die Tastenkombination ganz normal nutzen und hat nach einigen Einstellungen alle fehlenden Zeichen zur Verfügung.
May 14, 2009
AC/DC, we salute you!
Auch wenn der Veranstaltungsort nicht gerade gut gewählt war. Konnte man den die zwei Stunden Stau in Leipzig schnell wieder vergessen als beim opener der Rock ‚n’ Roll Train auf die Bühne donnert. Für die Massen gibt es nach bescheidenen Vorbands kein halten mehr. Die Akustik ist klasse und die Kleidung wird vom fulminanten Bass zum schwingen gebracht. Auch nach mehr als 35 Jahren jagt ein Hit den nächsten. Zwischen Thunderstruck und dem mit der Hells Bell eingeläuteten gleichnamigen Stückt geht es von einem Kracher zum nächsten. Über „You Shook Me All Night Long“ bis zum finalen „Highway to Hell“ bleibt mein Favorit des Abends definitive TNT. Erstaunlich ist es schon wie das Rockurgestein immer noch Menschen zwischen 6 und 66 Jahren begeistern kann. Hoffen wir mal das es nicht das letzte Konzert von AC/DC war und die Australier noch ein oder zweimal vor der Rente bei uns vorbeischauen.
December 24, 2008
Alle Jahre wieder...
Weihnachtet es sehr. Die Hauptstadt ist wie ausgestorben, alles dunkel, nur vereinzelt trifft man Menschen an. Scheinbar bin ich der Einzige der arbeiten muss. Wenn man es aber objektiv betrachtet macht das wenig Sinn. Ich sitze hier schrieb den Beitrag für meinen Blog, nebenbei bestelle ich mir noch ein paar Hosen von Analog. Danach werde ich der Dinge harren die kommen mögen, eventuell ruft mich ja sogar jemand an. Bis dahin kann man ja Winterbells http://www.ferryhalim.com/orisinal/g3/bells.htm spielen. Um 12 werde ich dann nach Hause fahren und den Tag bei der Familie ausklingen lassen.
October 27, 2008
Und wieder startet eine langweilige Woche.
Das Wetter ist mies – richtig mies – es regnet den ganzen Tag. Eigentlich sollte ich mich freuen. Ab nächster Woche arbeite ich im Online Marketing mein Privatprojekt normannen.org läuft auch super. Resumeé – [i]Ich bin mit der Gesamtsituation unzufrieden[/i]. Ich denke ich brauche einfach nur mal Urlaub. Am Besten richtig lange. Immerhin ist meine Rippe wieder zusammengewachsen. Und wie mir mitgeteilt wurde bricht ein Knochen nie an derselben Stelle. Somit bleiben nur noch 11 weitere Rippen als potentielle Opfer. Dennoch möchte man den Spass nicht missen wenn man easy über das Rail shaped, das Adrenalin was durch deine Venen pumpt.
September 16, 2008
XML Umstellung beendet!
Nach über einem Jahr ist es nun vollbracht und die Umstellung des Systems auf XML ist beendet. News und Bilder werden direkt über XML eingebunden, die Sortierung wird mittels XSLT vorgenommen. Im nächsten Schritt wird noch ein DTD für Texte mit Quellcode festgelegt um ggf. Anleitungen zu schreiben. Da ich momentan einen run habe werde ich das recht zeitnah realisieren. Im nächsten Schritt werden die Eingabemasken überarbeitet und die CSS Files ausgetauscht. Und das Projekt solle bald beendet sein. Dann kann ich mich auch wieder anderen Sachen widmen, momentan arbeite ich an einen Bild von Prag welches am Ende eine schöne Weitwinkelaufnahme auf die Prager Stadt zeigt. Die fertige Aufnahme werde ich in einer Auflage von nur 2 Stück auf Aluminium drucken lassen. Dabei verbleibt ein Bild bei mir und das andere wird in eine Berliner Galerie gegeben. Von dem Erlös werde ich in ein neues Projekt stecken.
September 15, 2008
Login nun Möglich
Der Login in das System ist nun möglich. Ein Problem stellen noch mögliche DoS Atacken dar, aber das Problem wird in den nächsten Tagen mit Einbindung eines Codebildes behoben. Die erste komplette Einbindung wird in den News erfolgen, do das diese direkt verändert/gelöscht/verfasst werden können. Sollte diese Funktion verfügbar sein wird die Seite umgehend online gestellt. Im weiteren wird noch eine Funktion benötigt die beim Abspeichern umlaute korrekt in html umschrift darstellt.
September 13, 2008
XML Umstellung die Zweite
Es funktioniert!
August 30, 2008
XML Umstellung
Die Seite befindet sich momentan in einer Umstellung. Die Speicherung Daten erfolgt fortan nicht mehr in einer Datenbank sonder ausschließlich im XML Format. Dadurch möchte ich den Datenaustausch vereinfachen, dieser erfolgt nun direkt über die Webseite. Aber auch der Zugang über FTP ist möglich, es werden im Dokument ausschließlich Daten transportiert. Das Design erfolgt über CSS 2.0, auch dies wird schon bald umgestellt um das Design je nach Bedarf zu wechseln. Bei Fertigstellung wird das System Multiuserfähig sein, und myreferences wird anderen Nutzern frei zur Verfügung stehen.
(0) Comments|Permlink|Reply