Ralf Hüsing

September 5, 2008

PC in VMWare konvertieren

Abgelegt unter: Windows — ralf @ 7:49 pm

Mit dem kostenlosen VMware Converter ist es super einfach möglich einen PC in eine VMware zu konvertieren.

Getestet habe ich das konvertieren von einer VM in Microsoft Virtual PC 2007 nach VMware Server.

Der Konverter musste hierbei auf dem Quell-PC (in dem Fall MS-Virtual PC) installiert sein / ausgeführt werden. Es ist somit total einfach möglich einen normalen PC in eine VMWare zu “kopieren”.

Toll.

Windows XP Seriennummern von IKEA

Abgelegt unter: Hirndefekt — ralf @ 7:42 pm

Bei Ikea im Saale-Park sind die Windows-XP-OEM Aufkleber gut sichtbar auf den PCs der Mitarbeiter angebracht.

Es braucht nur eine kleine Kamera (zBspl. Handy) und schon hat man ein paar Seriennummern mehr.

Toll.

August 31, 2008

Wordpress aktualisiert

Abgelegt unter: Sonstiges — ralf @ 7:03 pm

Habe mal Wordpress auf 2.6.1 aktualisiert, olé.

August 19, 2008

Server’chen

Abgelegt unter: Bilder, Sonstiges — ralf @ 2:12 pm

Serverchen

August 11, 2008

Zuviel CoD4?

Abgelegt unter: Bilder, Call of Duty 4, Hirndefekt — ralf @ 11:25 am

CoD 4 Statistik

August 6, 2008

Visual Basic 6 - Dezimal nach Hexadezimal und Dezimalzahlen in Hexadezimalzahlen konvertieren

Abgelegt unter: Programmierung — ralf @ 6:21 pm
' /**
' Konvertiert Dezimal Zahlen in Hex
' **/
Public Property Get pDec2Hex(lDec As Long, Optional ByVal lLength As Long = 4, Optional sPrefix As String = "0x") As String
  Dim sHex    As String
  Dim lHexLen As Long

  sHex = Hex(lDec)

  lHexLen = Len(sHex)

  If lLength < 0 Then lLength = 0

  If lHexLen < lLength Then
    sHex = String(lLength - lHexLen, "0") & sHex
  End If

  sHex = sPrefix & sHex

  pDec2Hex = sHex
End Property

' /**
' Hexadezimal nach Dezimal
' @bug: Es werden alle Zeichen in sHex verarbeitet bis zum zeichen ende oder zum ersten ungültigen Zeichen.
'       Beispiel: "0xFFz" ergibt 255
' **/
Public Property Get pHex2Dec(ByVal sHex As String, Optional sPrefix As String = "0x") As Long
  Dim lPrefix As Long

  lPrefix = Len(sPrefix)

  If Left(sHex, lPrefix) = sPrefix Then
    sHex = Mid(sHex, lPrefix + 1)
  End If

  On Local Error Resume Next

  pHex2Dec = CLng(Val("&H" & sHex))
End Property

Juli 8, 2008

404 - Not Fund

Abgelegt unter: Hirndefekt — ralf @ 2:37 pm

404 - Not Fund

Juni 26, 2008

Wordpress nervt zwar aber ich lass es wie es ist

Abgelegt unter: Sonstiges — ralf @ 5:51 pm

Wie Paul so schön anmerkte nervt Wordpress, gut, stimm ich zu. Ein weiterer Punkt in seiner Auflistung ist das die Code Qualität (teilweise) unter aller Sau ist - evtl. kommen daher die teils gravierenden Sicherheitsprobleme. Mag sein das das in neueren Versionen behoben wurde.

Was mir übrigens gefällt ist das man in meinem Blog Kommentare posten kann ohne sich zuregistrieren - bei Paul geht das nicht. Mag nun nur eine Einstellungssache sein, aber für den User ists wurst. Ich schreibe deswegen einen Beitrag mit Trackback und setze keinen Kommentar bei Paul.

Juni 19, 2008

rcm-de.amazon.de schickt kaputte http header bei http pipeline

Abgelegt unter: Hirndefekt — ralf @ 9:47 pm

Ein HTTP-Pipeline Request gegen “rcm-de.amazon.de” gibt einen kaputten Connection Header zurück.
Die Buchstaben werden (irgendwie..) zufällig durcheinander gewürfelt:


$ nc rcm-de.amazon.de 80 < pipe.txt
HTTP/1.1 200 OK
Date: Thu, 19 Jun 2008 19:37:14 GMT
Server: Server
Cache-control: no-store
Content-Length: 2234
Cneonction: close
Content-Type: text/html

Date: Thu, 19 Jun 2008 19:37:14 GMT
Server: Server
Cache-control: no-store
Content-Length: 2234
Cneonction: close
Content-Type: text/html

Wobei “pipe.txt” in etwa wie folgt ausschaut:

HEAD /e/cm?t= HTTP/1.1
Host: rcm-de.amazon.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de; rv:1.9) Gecko/2008052906 Firefox/3.0
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300

HEAD /e/cm?t= HTTP/1.1
Host: rcm-de.amazon.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de; rv:1.9) Gecko/2008052906 Firefox/3.0
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300

Die Konsequenz dessen ist das Pipeline fähige Browser ihre Verbindung nicht umgehend beenden da es ja keinen “Connection: close” Header gab. Letzlich dürfte das unnötige offene Verbindungen bei Amazon’s HTTP-”Server” (der Name ist schon kreativ gewählt worden :-)) verursachen.

Webseiten Werbeblocker zentral im Windows Netzwerk über DNS

Abgelegt unter: Windows — ralf @ 7:22 pm

Zielsetzung

  • Werbung mit möglichst wenig Aufwand zentral Blockieren
  • Browser Unabhängig
  • Wenige bis keine Änderungen an den Netzwerk-Clients bzw. Browsern

Voraussetzung

  • Zentraler DNS Server
  • Alle Clients benutzen diesen DNS Server
  • (optional) lokaler Webserver

Umsetzung

Generell läuft es darauf hinaus das man komplette DNS-Zonen deaktiviert.
Hierbei ist besondere Vorsicht angebracht da man sehr schnell zuviel blockiert, also lieber zuwenig als zuviel blockieren. Nichts ist schlimmer wenn nach der Umsetzung die ganze Firma anruft.

Als erstes gilt es zu ermitteln welche Domains zu blockieren sind.
Dazu ruft man am einfachsten Webseiten auf, die ungewünschte Werbung darstellen und versucht die Ursprungsdomain der Werbung zu ermitteln.

Setzt man Windows 2000 ein sollte man als nächstes DNS-Wildcard Auflösung aktivieren.

Danach erstellt man im DNS Server eine neue Zone. Es ist hierbei unerheblich ob diese Aktive Directory integriert ist oder nicht.
In dieser Zone legt man einen neuen Hosteintrag an der keinen Namen hat. Als IP Adresse verwendet man entweder die eines lokalen Webservers oder 127.0.0.1. Die Folgende Warnmeldung kann man getrost bestätigen.
Danach legt man unter dieser Zone eine “Neue Domäne” mit der Bezeichnung “*” an, darunter dann
wieder einen Hosteintrag mit der IP des lokalen Webservers oder 127.0.0.1.

Das Ergebniss könnte dann in etwa wie folgt aussehen:


Windows 2000 DNS Konfiguration

Windows 2000 DNS Konfiguration

Hat man sekundäre DNS Server darf man nicht vergessen zum einen die Zonenübertragung zu aktivieren und zum anderen die neuen Zonen auch auf den sekundären DNS Servern einzurichten.

Damit ist die Hauptarbeit erledigt.
Jegliche DNS Aufrufe gegen zBspl. “ads.msn.com” beantwortet der DNS Server mit der gleichen Antwort:


Windows 2000 DNS nslookup

Zum sofortigen Testen ist es oft nötig den lokalen DNS Cache zu leeren: ipconfig /flushdns.

Möchte man die Werbeanfragen auf einen lokalen Webserver weiterleiten um darauf individuell zu Antworten kann man Apache so Konfigurieren das er auf alle Anfragen gleich antwortet:

NameVirtualHost *:80
<VirtualHost *:80>
ServerName *
DocumentRoot /home/www/catchall.our.dom/htdocs
AliasMatch /(.*)$ /home/www/catchall.our.dom/htdocs/index.php/$1
</VirtualHost>

Dadurch wird von jedem Browser statt der Werbung die index.php aufgerufen.

In meinem Fall enthält diese Code der den Browser auf eine statische lokale Datei umlenkt.
Dies hat zwei Vorteile: Zum einen kann der Browser die Weiterleitung sowie die Ziel Datei zwischenspeichern, zum anderen wird durch Apache der richtige Content-Type zurückgeschickt.
Die Dateien habe ich manuell als leere bzw. 10×10 weiße Pixel Bilder angelegt.
Zusätzlich wird noch ein Apache error.log Eintrag generiert.
Wichtig ist das im Webserver ein Extra-VHost anlegt wird sonst der catchall-vhost die Anfragen gegen diese statischen Dateien beantworten würde - was vermutlich zu einer Endlos Schleife führt.


<?php
error_reporting (E_NONE);

$log = '';
$log .= 'HTTP_HOST=' . $_SERVER['HTTP_HOST'] . ‘ ‘;
$log .= ‘REQUEST_URI=’ . $_SERVER['REQUEST_URI'] . ‘ ‘;

$match = array();
$blank = ‘index.html’;

if (TRUE == preg_match(’/.+\.(js|jpe?g|css|png|bmp|x?html?|php|cfm|gif)/i’, $_SERVER['REQUEST_URI'], $match)) {
$blank = ‘blank.’ . $match[1];
}
header (’HTTP/1.1 301 Moved Permanently‘, TRUE, 301);
header (’Location: http://static.our.dom/catchall/’ . $blank, TRUE);

$log = ‘BLANK=’. $blank. ‘ ‘ . $log;

error_log ($log,0);

?>

Es kann passieren das Webseiten nicht mehr ordnungsgemäß funktionieren wenn Teile davon deaktiviert werden. Der Internet Explorer 6 meckert dies manchmal an was man in den Einstellungen deaktivieren kann:


Internet Explorer 6: Script Debugging deaktivieren

Zum Abschluß sei noch zu erwähnen das Werbung natürlich auch lokal gefiltert werden kann.

Nahezu jeder Browser bietet dazu Addons oder von Haus aus seine Möglichkeiten.
Bei FireFox zBspl. das AdBlock AddOn, bei Opera kann man Inhalte direkt blockieren, umfangreiche Filterlisten gibt es natürlich auch.
Für den Internet Explorer bleibt meines Wissens nach nur die Möglichkeit die DNS Auflösung lokal in der “C:\WINNT\system32\drivers\etc\hosts” Datei zu deaktivieren.

Ältere Artikel »

Powered by WordPress ( WordPress Deutschland )