WWW::Selenium – Mittels Perl den Browser fernsteuern

Wenn WWW::Mechanize an seine Grenzen (z.B. JavaScript welches den DOM modifiziert usw.) stößt ist es Zeit für Selenium. Selenium startet einen Browser der Wahl und steuert diesen komplett fern. Benutzt also die Parsingengine des Browsers welche bisher immernoch am besten funktioniert. Damit lassen sich meistens auch die krudesten Webseiten automatisch bepuscheln.
Da Selenium java ist und den kompletten Browser startet ist es eher nicht für Lasttests gedacht sondern eher für eine „automatisierte“ QS (QualitätsSicherung) mit der sich testen lässt ob eine Websete/WebApplikation sich so verhält wie sie soll. AKA <BuzzWord>Regressionstests</BuzzWord>.

„WWW::Selenium – Mittels Perl den Browser fernsteuern“ weiterlesen

DRBD – Raid1 via Netzwerk

DRBD (Distributed Replicated Block Device) ist ein Kernelmodul welches sich zwischen Filesystem und Plattentreiber quetscht.
Die Daten, die auf die Platte geschrieben werden, werden über das Netzwerk an einen Clusterpartner schickt, damit dieser die Daten ebenfalls auf die Platten schreibt. Genau wie bei Raid1, jedoch das hier die Platten nicht in einem Rechner sind, sondern in zweien.
Sehr interessant für Cluster, wo der Datenbestand überall gleich sein muss, man aber kein Geld für NFS o.ä. ausgeben möchte oder kann.
Da es ein Kernelmodul ist ist es auch deutlich performanter als Lösungen mit rsync oder ähnlichem. Da es zudem unabhängig vom Filesystem ist, da es sich, wie bereits erwähnt, zwischen Filesystem und Plattentreiber „quetscht“, ist es deutlich besser und performanter als Lösugen z.B. via LVM o.ä. – Wobei es natürlich mit LVM gut zusammenarbeitet. Es steht unter der „GNU General Public License v2“ und ist frei erhältlich.

[Updated: 05.12.2010]

„DRBD – Raid1 via Netzwerk“ weiterlesen

fspy – Eine schlanke und schnelle Alternative zu FAM

Ein weiters Frontend welches das kürzlich vorgestellte inotify nutzt, um Veränderungen an Verzeichnissen und Dateien zu melden, ist fspy. Sehr schön: es kann regex, die Ausgabe ist schön anpassbar und es ist sehr schnell einsatzbereit. ( Und auch deutlich schneller/performanter als das, inzwischen, veraltete FAM. )

„fspy – Eine schlanke und schnelle Alternative zu FAM“ weiterlesen

dietlibc – Diät für die LibC

Besonders für Programmierer von Software für embedded systemen dürfte die dietlibc interessant sein. Bietet sie doch viele LibC Funktionen in einer deutlichst schlankeren Form. Was sich wiederum auf die Größe der Programme auswirkt die damit gelinkt sind.

HP http://www.fefe.de/dietlibc/

Installieren kann man es via Paketmanager (in den meisten Distributionen ist es enthalten) oder per source mit „make && make install“. Bei letzterem befindet sich alles dann in /opt/diet.
(Wie üblich ist die jetzt aktuelle dietlibc auch nochmal in meinem Sourcecode Archiv vorhanden.)

„dietlibc – Diät für die LibC“ weiterlesen

Hardening FreeBSD

Ich stelle hier einige Tips zum absichern eines FreeBSD (z.B. als Firewall) Servers vor.
Der folgende Text erhebt keinerlei Anspruch auf vollständigkeit! Zudem empfehle ich dringendst die einzelnen Tips vorher auf einer Testkiste zu testen. Auch muss nicht alles so übernommen wie hier steht da einiges (z.B. ‚kern_securelevel=“3″‚, ’net.inet.tcp.blackhole=2‘ oder ‚console none unknown off insecure‘) vielleicht dem einen oder anderen setting zu viel ist. Auch sei die konsultation der Manpages sehr empfohlen.

„Dependency“: FreeBSD 5.3 oder höher
„Hardening FreeBSD“ weiterlesen

Port Forwarding Daemon

portfwd ist ein netter kleiner port forwarder mit schönen features die z.B. ein rinetd missen lässt.

U.a. wären da: Forwarding von TCP und UDP, FTP in aktiv oder passiv mode, transparenter proxymode (wenn vom OS bzw. kernel unterstützt), ein rudimentäres „loadbalancing“, mehrere lokale IPs unterstützt (mit unterschiedlichen forwarding möglichkeiten) und explizite angabe einer source Address pro forwarding möglich.

Es wird zwar seit 2007 nicht mehr weiterentwickelt aber das muss nicht unbedingt was heißen…

„Port Forwarding Daemon“ weiterlesen

Was war nochmal mit ethtool?

ethtool ist normalerweise auf allen Linux Rechnern drauf und kann mehr nette Dinge[tm] tuen als nur informationen über die NICs liefern.
Hier eine kleine Auswahl:

Die LEDs des NICs rythmisch blinken lassen um zu sehen welcher Anschluss z.B. eth0 ist. Nützlich wenn man mehr als einen hat und man $vor_ort_techniker zu einem NIC hindirigieren will.
# ethtool -p eth0

Selbsttest des NICs
# ethtool -t eth0 online
# ethtool -t eth0 offline (hier wird mehr getestet als bei online aber die Netzwerkconnektivität geht zeitweise verloren => use console)

Restart der autonegotiation wenn die mal wieder schiefgelaufen ist:
# ethtool -r eth0

Speed, Duplexmode und AutoNeg festnageln (z.b. wenn autoneg nicht funktioniert)
# ethtool -s eth0 speed 100 duplex full autoneg off