CO2 Emissionen + Geburts- & Sterberaten

Habe soeben eine sehr interessante Webseite gefunden, die ich niemanden vorenthalten möchte.

CO2 Emissionen + Geburts- & Sterberaten jedes Landes simuliert in Echtzeit

earth-breathing-simulation
earth-breathing-simulation

Link:
www.breathingearth.net

Top 10 – Malware-Seiten

Google hat eine Liste der von ihm beobachteten Top-10-Malware-Sites (von April – Mai 2009) veröffentlicht. Dabei leiten beispielsweise legitime, aber gehackte Webseiten Besucher auf diese Sites um, wo deren PCs mit Schädlingen infiziert werden sollen. Kriminelle nutzen dazu unter anderem Exploits für den Internet Explorer, Firefox und QuickTime.

Die Liste zeigt die Zahl der auf die Malware-Site referenzierenden gehackten Webserver.


malware-website
Malware-Websites


Bedingungen in der Shell – Linux

Hier soll an einigen Beispielen klar werden, wie man Bedingungen in z.B. Shell-Abfragen (if) einbaut.

Dateien:

-d file

-> file existiert und ist ein Verzeichnis

-e file

-> file existiert

-f file

-> file existiert und ist regulär

Beispiel:

if [ -f /etc/issue ] ; then cat /etc/issue | awk {'print $3'}; fi

-s file

-> file existiert und ist nicht leer

-r file

-> file existiert und ist lesbar

-w file

-> file existiert und ist beschreibbar

datei1 -nt datei2

-> datei1 ist jünger als datei2

datei1 -ot datei2

-> datei1 ist älter als datei2

Strings:

-z string

-> string ist leer

-n string

-> string ist nicht leer

Beispiel:

test="Hallo"
if [ -n $test ] ; then echo $test; fi
unset test
if [ -n $test ] ; then echo $test; fi

s1 == s2

-> s1 ist gleich s2

s1 != s2

-> s1 ist ungleich s2

s1 < s2

-> s1 ist kleiner s2 (bzgl. Sortierung)

s1 > s2

-> s1 ist größer s2

Arithmetik:

n1 -eq n2

-> n1 ist gleich n2

Beispiel:

a=5
b=5
if [ $a -eq $b ]  ; then echo -e "es sind die gleichen Zahlen"; else echo "es sind nicht die gleichen Zahlen" ;fi
b=4
if [ $a -eq $b ]  ; then echo -e "es sind die gleichen Zahlen"; else echo "es sind nicht die gleichen Zahlen" ;fi

n1 -ne n2

-> n1 ist ungleich n2

n1 -lt n2

-> n1 ist kleiner n2

n1 -le n2

-> n1 ist kleiner/gleich n2

n1 -gt n2

-> n1 ist größer n2

n1 -ge n2

-> n1 ist größer/gleich n2

Logik:

expr1 -a expr2

-> Ausdruck expr1 UND expr2

expr1 -o expr2

-> Ausdruck expr1 ODER expr2

netstat + ss + lsof

Mit den folgenden kleinen Kommandos kannst du sehen, welche Verbindungen von welcher IP / Port / Programm zu welchem Ziel aufgebaut wurden.

__________________________________________

netstat -nat

-> aktive Verbindungen (auch solche welche eine Verbindung aufgebaut haben bzw. soeben versuchen)

netstat --udp --tcp --listening --programs --numeric

bzw.

netstat -ntauple

-> alle TCP/UDP-Sockets anzeigen auf denen gelauscht wird

ss -l -p -e

-> alle Sockets anzeigen auf denen gelauscht wird

ss -o state established '( dport = :ssh or sport = :ssh )'

-> aufgebaute SSH-Verbindungen anzeigen

ss -t -a

-> zeigt alle TCP-Verbindungen an

ss -u -a

-> zeigt alle UDP-Verbindungen an

lsof -i -nP

-> zeigt alle Verbindungen, deren Ports, Programme, PID und dessen User an

find – Linux

Es folgen einige Beispiele, wie man den “find-Befehl” nutzen kann… viel Spaß beim ausprobieren.

find -size +10M -20M -exec ls -lah {} \;

-> Sucht Dateien ab dem aktuellen Verzeichnis, die gräßer sind als 10MB, aber kleiner als 20MB und zeigt diese an.

find /home/ -iname '*.jpg' -exec tar -czf bilder.tar.gz {} \;

-> Ab dem home-Verzeichnis nach Dateien suchen, die auf “.jpg/.JPG” enden duchsuchen und diese archivieren.

find / -used 1

-> Ab dem root-Verzeichnis alle Dateien suchen, welche heute (1 -> Tag) verwendet wurde.

find / -amin -10 [ -atime -10 ]

-> Ab dem root-Verzeichnis alle Dateien suchen, auf denen vor weniger als 10 Minuten [ Tage ] zugegriffen wurde.

find / -mmin +10 [ -mtime +10 ]

-> Ab dem root-Verzeichnis alle Dateien suchen, welche vor mehr als 10 Minuten [ Tage ] geändert wurden.

touch --date='15:00' /tmp/ref
find / -newer /tmp/ref

-> Ab dem root-Verzeichnis alle Dateien suchen, welche neuer sind als heute um 15:00 Uhr.

find / -type f -name "*neu*"

-> Ab dem root-Verzeichnis alle Dateien suchen, in welchen “neu” vorkommt.

find / -type d -name "*home*"

-> Ab dem root-Verzeichnis alle Verzeichnisse suchen, in welchen “home” vorkommt.

find . -empty

-> Im aktuellen Verzeichnis nach Dateien suchen, welche eine Größe von “null” haben.

find /home/ -user root [ -group root ]

-> Ab dem home-Verzeichnis nach Dateien suchen, welche dem User “root” [ der Gruppe “root” ] gehören.

find /home/ ! -user root [ ! -group root ]

-> Ab dem home-Verzeichnis nach Dateien suchen, welche nicht dem User nicht “root” [ nicht der Gruppe “root” ] gehören.

 

Es folgt noch ein Beispiel + Erklärung:

# alle Dateien (type f) die älter als 30 Tage (mtime +30) sind außer alt_datum.tar.bz2 (exclude-from alt_`date +%d-%m-%y`.tar.bz2), werden zu einem Archiv zusammengefasst
find / -type f -mtime +30 --exclude-from=alt_`date +%d-%m-%y`.tar.bz2 -exec tar -cjf alt_`date +%d-%m-%y`.tar.bz2 {} \;
# nun alle Dateien, die älter als 30 Tage sind löschen
find / -type f -mtime +30 --exclude-from=alt_`date +%d-%m-%y`.tar.bz2 -exec rm {} \;
# alle Dateien welche den Namen “alt_irendwas.tar.bz2” haben (ianme “alt_*.tar.bz2”, werden gelöscht
find / -type f -iname "alt_*.tar.bz2" -mtime +60 -exec rm {} \;

Twitter mit Pidgin

Ich möchte hier noch ein sehr nützliches Plugin für Pidgin vorstellen und zwar ein Twitter_Plugin…

… habe dies nun unter Ubuntu 9.04 und unter Windows7 getestet und es klappt ohne Probleme. :D

Ubuntu:

pidgin-mbpurple_0.2.4-0ubuntu1_amd64.deb

pidgin-mbpurple_0.2.4-0ubuntu1_i386.deb

sudo dpkg -i mbpurple_0.2*.deb

Windows:

pidgin-microblog-0.2.4.exe

Info:
code.google.com/p/microblog-purple/

________________________________

Wer eine eigene Webseite hat, kann seine Twitter-News auch sehr einfach auf seiner Webseite anzeigen lassen…

Code:
code.google.com/p/twitterjs

________________________________


Twitter + Pidgin
Twitter + Pidgin + Webseite


mv – Linux

[mv = move] mit dem “mv”-Befehl kann man Dateien von einem Ort an einen andern verschieben bzw. wenn dies im selber Verzeichnis ausgeführt wird, eine Datei umbenennen.

eine Datei umbenennen:

ohne Wildcards:

mv data1 dateu_neu1

benennt die Datei “data1” in “dateu_neu1” um

mit Wildcards:

mv *tei1 datei_neu1

-> * = beliebig viele verschiedene Zeichen

mit Wildcards:

mv ?atei1 datei_neu1

-> ? = ein unbestimmter Buchstabe

Dateien verschieben:

mv *.txt old/

alle Dateien welche auf “.txt” enden werden in das Unterverzeichnis old/ verschoben

mehrere Dateien umbenennen:

!!!
mv *.htm *.html
!!!

dieser Befehl funktioniert nicht, da die Bash “*.html” als Verzeichnis interpretiert

Dieses Problem kann man z.B. wie folgt lösen:

for i in *.htm; do mv $i `basename $i .htm`.html; done

mit diesem Befehl, kann man nun alle Dateien welche auf “.htm” enden, mit der neuen Endung “.html” versehen

der ursprüngliche Dateiname welcher in der Variablen $i abgelegt wird, wird jeweils zu dem neuen Dateinamen, welcher sich aus dem “Basisnamen” (basename *1) ohne die Endung und einer neuen Endung “.html” besteht, zusammengefasst und die entsprechende Datei mittels einer “for”-Schleife verschoben

(*1) basename test.txt .txt -> test)

 

for i in *.sh; do mv $i /home/path/; done

verschiebt alle Dateien mit der Endung “.sh” nach /home/path

 

for i in [a-z]*; do mv $i ${i#[a-z]}; done

entfernt das erstes Zeichen von allen Dateien im aktuellen Verzeichnis.

 

for i in [a-z]*; do mv $i z${i}; done

setzt ein “z” vor jeden Dateinamen.

 

Alternativ kann man dieses Problem auch mit dem folgendem Befehl umgehen…

aptitude install mmv

installiere als erstes das Programm “mmv”

mmv -v "*.htm" "#1.html"

wie im vorherigem Beispiel werden auch hier alle Dateien welche auf “.htm” enden umbenannt und enden hinterher auf “.html”

(mit dem Parameter “-c” werden die Dateien nicht verschoben, sondern kopiert)

 

Hier noch ein Beispiel: Welches alle Bilder im aktuellen Verzeichnis um 2 erhört -> “1.jpg” wird zu “3.jpg” …

for i in `ls -r *.jpg`; do
j=$((${i%.*}+2));
echo "$i -> ${j}.${i##*.}";
done;

HTML5 – YouTube ohne Flash Player

Die HTML5 Implementierung kommt voran, so unterstützt YouTube nun die Funkion ohne den Flash Player Videos abzuspielen, jedoch leider nur über den proprietäre H.264 Video-Codec.

Momentan unterstützen nur wenige Browser, sowohl den Video-Tag in HTML5 und den H.264 Video-Codec. Dazu gehören:

– Google Chrome
– Apple Safari (ab Version 4 +)
– Microsoft Internet Explorer (+ Chrome Frame)

Um HTML5 auf YouTube zu benutzen, müsst du einen der erwähnten Browser installieren, folgende Seite besuchen und dem Experiment zustimme. Nun kannst du die

www.youtube.com/html5

Endian Firewall – Version 2.2

Was ist Endian?

Endian Firewall ist eine schlüsselfertige Linux-Sicherheits-Distribution, die jedes System zu einer vollwertigen Sicherheits-Applikation macht. Features sind eine Firewall mit zustandsabhängiger Paketinspektion, Proxys auf Anwendungsebene für verschiedene Protokolle (HTTP, POP3, SMTP), Antiviren-Unterstützung, Viren- und Spamfilterung für Email-Traffic (POP und SMTP), Inhaltsfilterung von Web-Traffic und ein stressfreies VPN-System auf Basis von OpenVPN und dies alles unter einer hübschen Web-Oberfläche.

Leider habe ich bei der neuen Version 2.3 noch keine Möglischkeit gefunden “VMWare Tools” zu installieren, wenn jemand weiteres dazu weiß, dann schreibe einfach einen Kommentar zu diesem Artikel.

Link:
Endian Firewall

HowTo – Upgrade:

Als erstes muss man sich unter folgender Adresse Registrieren -> www.endian.org/register

Nun kann das Update in 4 kurzen Schritten durchgeführt werden:

1.) Schalte SSH in deiner Endian Firewall ein

2.) Öffne ein SSH-Terminal und verbinde dich mit der Firewall (z.B. mit putty)

3.) Wenn deine “Endian Firewall Version” älter ist als 2.2 muss du folgendes ausführen

root@efw-2:~ # rpm -ivh http://updates.endian.org/upgrade.rpm

4.) Führe das “efw-upgrade” Script aus

root@efw-2:~ # efw-upgrade

Please choose the appropriate channel for your environment and hit [ENTER]:

1) Production (stable releases)

2) Development (bleeding edge)

1

Please enter your username and hit [ENTER]:
deine@email_adresse.de (welche du bei der Registrierung angegeben hast)

… und schon ist das Updates eingespielt!