2010 . JULY
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
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