BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Bilder aus Thumbs.db extrahieren

Unter Windows wird automatisch für Bilder eine Vorschaudatei Thumbs.db erstellt. Mit dieser kann man grundsätzlich nichts unter FreeBSD anfangen. Werden unter Windows Bilder gelöscht, werden diese jedoch nicht aus der Thumbs.db entfernt. Möchte man nun die Bilder aus der Thumbs.db extrahieren, lässt sich das unter FreeBSD mit vinetto machen. vinetto findet man im FreeBSD Portsbaum unter security/vinetto.

# cd /usr/ports/security/vinetto && make install clean

Nachdem vinetto installiert ist, kann angegeben werden, in welches Verzeichnis die Bilder gespeichert werden sollen und wo sich die Thumbs.db Datei befindet:

# vinetto -o <Ausgabeverzeichnis> <Pfad zur Thumbs.db>

Falls man möchte, kann mit der -H Option auch eine HTML Datei angelegt werden, in der die Metadaten der Bilder angezeigt werden:

# vinetto -o output -H Thumbs.db 

Root Entry modify timestamp : Wed Mar 23 22:39:46 2005

------------------------------------------------------

0001 Wed Jan 12 22:00:36 2005 DSC00404.JPG
0002 Wed Jan 12 22:00:38 2005 DSC00408.JPG
0003 Wed Jan 12 20:53:38 2005 image005.jpg
0004 Wed Jan 12 20:53:44 2005 image006.jpg
0005 Wed Jan 12 20:53:44 2005 image007.jpg
0006 Wed Jan 12 20:53:44 2005 image008.jpg
0007 Wed Jan 12 20:53:44 2005 image009.jpg

------------------------------------------------------

7 Type 2 thumbnails extracted to output/

Im Ausgabeverzeichnis findet man nun eine index.html Datei, welche mit einem Browser geöffnet werden kann.

 Permalink

Antwortzeiten einer Webseite bestimmen

Mit httping lassen sich die Antwortzeiten und die Erreichbarkeit einer Webseite, ähnlich wie mit ping(8), bestimmen. httping findet man im FreeBSD Portsbaum unter net/httping:

# cd /usr/ports/net/httping && make install clean

Nun kann man mit httping eine Webseite testen. Die zu testende URL fügt man hinter der der -g Option an:

# httping -g http://www.chruetertee.ch
PING www.chruetertee.ch:80 (http://www.chruetertee.ch):
connected to www.chruetertee.ch:80, seq=0 time=484.46 ms
connected to www.chruetertee.ch:80, seq=1 time=473.40 ms
connected to www.chruetertee.ch:80, seq=2 time=467.74 ms
connected to www.chruetertee.ch:80, seq=3 time=472.84 ms
^C--- http://www.chruetertee.ch ping statistics ---
4 connects, 4 ok, 0.00% failed
round-trip min/avg/max = 467.7/474.6/484.5 ms

httping beendet man mit Ctrl + C. Sollen nur eine gewisse Anzahl Anfragen gesendet werden, verwendet man die -c Option. Soll der HTTP Statuscode zusätzlich angezeigt werden, fügt man die -s Option hinzu:

#  httping -g http://www.chruetertee.ch -s -c 1
PING www.chruetertee.ch:80 (http://www.chruetertee.ch):
connected to www.chruetertee.ch:80, seq=0 time=471.09 ms 200 OK
--- http://www.chruetertee.ch:80/ ping statistics ---
1 connects, 1 ok, 0.00% failed
round-trip min/avg/max = 471.1/471.1/471.1 ms

Auch kann man eine Webseite über HTTPS testen. Dazu muss die -l Option verwendet werden:

# httping -l -g https://www.chruetertee.ch
PING www.chruetertee.ch:443 (https://www.chruetertee.ch):
connected to www.chruetertee.ch:443, seq=0 time=569.78 ms
connected to www.chruetertee.ch:443, seq=1 time=546.61 ms
connected to www.chruetertee.ch:443, seq=2 time=546.76 ms
^C--- https://www.chruetertee.ch ping statistics ---
3 connects, 3 ok, 0.00% failed
round-trip min/avg/max = 546.6/554.4/569.8 ms

Alle Optionen von httping findet man in der Manpage httping(1).

 Permalink

Herausfinden welcher Prozess das Unmounten einer Partition verhindert

Versucht man eine Partition zu unmounten, dies schlägt jedoch fehl, so hat meistens noch ein Prozess eine Datei auf dieser Partition offen:

# umount /tmp
umount: unmount of /tmp failed: Device busy

Mit fstat lässt sich die Prozess-ID und der Programmname des Prozesses ermitteln, der noch eine Datei auf dieser Partition geöffnet hat:

# fstat -f /tmp
USER     CMD          PID   FD MOUNT      INUM MODE         SZ|DV R/W
beat     xpdf        1312   wd /tmp          2 drwxrwxrwt     512  r
beat     xpdf        1312    4 /tmp          7 -rwxr-xr-x  148794  r

Mit der Prozess-ID lässt sich danach das Kommando mit allen Parametern bestimmen, mit dem der Prozess gestartet wurde.

# ps -p 1312
  PID  TT  STAT      TIME COMMAND
  1312  p3  S+     0:00,43 xpdf talk.pdf

Beendet man diesen Prozess, kann die Partition mit umount(8) aus dem Verzeichnisbaum entfernt werden.

Auch lassen sich mit fstat alle Prozesse von einem bestimmten Benutzer ermitteln, welche zur Zeit noch eine Datei geöffnet haben.

# fstat -u <Benutzername>

Mehr Informationen zu fstat findet man in der Manpage fstat(1).

 Permalink

ipfw Logdatei auswerten

In einer ipfw Regel kann zusätzlich ein log-Schlüsselwort angegeben werden:

/sbin/ipfw -q add deny log ip from any to any

Nun werden alle Pakete, auf die diese Regel zutrifft, von syslog protokolliert. In /etc/syslog.conf findet man heraus, in welche Logdatei diese Meldungen geschrieben werden:

security.*                   /var/log/security

Mit Hilfe von ipfwcount kann nun diese Datei ausgewertet werden. ipfwcount findet man im FreeBSD Portbaum unter security/ipfwcount:

# cd /usr/ports/security/ipfwcount && make install clean

Möchte man nun herausfinden, welchen Destination-Port die meisten geblockten Pakete haben, kann man folgenden Befehl verwenden:

# ipfwcount -dink dport -t 5 /var/log/security
Destination port (denied, incoming, 5 of 21)
------------------------------------------------
http 124
netbios-ssn 47
1026 44
microsoft-ds 26
loc-srv 22

Mit der -d Option werden geloggte Pakete einer deny Regel und mit -i werden eingehende Pakete gezählt. Mit -n werden die Portnummern durch den Portnamen ersetzt und mit -k dport wird angegeben, dass nach den Destination-Ports sortiert werden soll und durch -t 5 werden nur die Top 5 Ports angezeigt.

Soll nun gleichzeitig angezeigt werden, welche Rechner am meisten auf diese Ports zugegriffen haben, so kann folgender Befehl verwendet werden:

# ipfwcount -dink dport,shost -t 2 /var/log/security
Destination port (denied, incoming, 2 of 21)
------------------------------------------------
http 124
Source host (2 of 11)
------------------------------------------------
xyz.dclient.hispeedy.hc 71
xyz.dsl.cest1wll.ten 21

netbios-ssn 47
Source host (2 of 8)
------------------------------------------------
217.150.xyz.xyz 18
xyz.aci.mehs.da.pj 8

Nun sieht man für die zwei meist geblockten Destination-Ports je die beiden Rechner, die am meisten versucht haben auf diese Ports zuzugreifen.

Möchte man automatisch mit den periodic daily Mails eine Auswertung der ipfw Logdatei erhalten, so kann man einen Symlink in /usr/local/etc/portiodic/security erstellen:

# cd /usr/local/etc/periodic/security/ && ln -s /usr/local/share/examples/ipfwcount/100.ipfwcount

Danach muss ipfwcount in der /etc/periodic.conf aktiviert werden:

echo 'daily_status_security_ipfwcount_enable="YES"' >> /etc/periodic.conf

Mehr Informationen zu ipfwcount findet man in der Manpage ipfwcount(1).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Nur neue Einträge einer Logdatei anzeigen

Beobachtet man regelmässig einige Logdateien und möchte, dass nur die neuen Einträge, die seit dem letzten Mal betrachten dazugekommen sind, angezeigt werden, so kann man since verwenden. since findet man im FreeBSD Portsbaum unter misc/since:

# cd /usr/ports/misc/since && make install clean

Betrachtet man nun eine Datei das erste Mal mit since, wird die ganze Datei angezeigt. Beim nächstem Aufruf mit since werden dann nur noch die neuen Einträge angezeigt. Sind in der Zwischenzeit keine Einträge dazugekommen, wird nichts angezeigt:

# since /var/log/messages
...
Sep  1 11:22:36 daedalus kernel: info: [drm] Setting GART location based on new memory map
Sep  1 11:22:36 daedalus kernel: info: [drm] Loading R300 Microcode
Sep  1 11:22:36 daedalus kernel: info: [drm] writeback test succeeded in 1 usecs
Sep  1 11:22:37 daedalus dhclient: New IP Address (ath0): 192.168.1.38
Sep  1 11:22:37 daedalus dhclient: New Subnet Mask (ath0): 255.255.255.0
Sep  1 11:22:37 daedalus dhclient: New Broadcast Address (ath0): 255.255.255.255
Sep  1 11:22:37 daedalus dhclient: New Routers (ath0): 192.168.1.1
Sep  1 11:36:14 daedalus kernel: ipfw: limit 100 reached on entry 700
Sep  1 11:45:36 daedalus su: beat to root on /dev/ttyp1
# since /var/log/messages
# logger test
# since /var/log/messages
Sep  1 11:51:50 daedalus beat: test

Mehr Informationen zu since findet man in der Manpage since(1).

 Permalink

Radio auf der Kommandozeile hören

Mit Hilfe von shell-fm kann man das Programm von last.fm auch auf der Kommandozeile empfangen. shell-fm kann über die FreeBSD Ports installiert werden:

# cd /usr/ports/multimedia/shell-fm && make install clean

Nun kann bereits der gewünschte Sender von last.fm gestartet werden:

# shell-fm "lastfm://artist/Metallica/similarartists"

Danach wird man nach seinem last.fm Benutzernamen und Passwort gefragt. Der Benutzername, das Passwort und der Standardsender können auch in der Konfigurationsdatei ~/.shell-fm/shell-fm.rc gespeichert werden:

username = Benutzername
password = Passwort
default-radio = lastfm://artist/Ramones/similarartists

shell-fm kann durch verschiedene Tastaturbefehle gesteuert werden. Mit n wird zum nächsten Lied gewechselt, durch r kann ein neuer Sender gewählt werden und mit einem grossen Q verlässt man shell-fm.

Alle Tastenkürzel und mehr Informationen zu shell-fm findet man in der Manpage shell-fm(1).

Comments (1)  Permalink

tcsh bei Inaktivität beenden

Benutzt man die tcsh, so kann man mit der Variable autologout festlegen, nach wievielen Minuten eine Shell automatisch beendet wird, wenn man auf der Shell keine Eingabe tätigt. Gibt man folgende Zeile in der tcsh ein, so wird die Shell automatisch nach 60 Minuten Inaktivität beendet:

# set autologout = 60

Durch das Setzen eines zweiten Wertes kann die Anzahl Minuten angegeben werden, nach der eine Shell bei Inaktivität gesperrt werden soll. Folgendes Beispiel sperrt die Shell nach 30 Minuten und beendet die Shell nach 60 Minuten:

# set autologout = (60 30)

Um die Werte dauerhaft für einen Benutzer zu setzen, kann die Zeile in der ~/.cshrc eingefügt werden. Soll die Variable für alle tcsh Benutzer gesetzt werden, fügt man die Zeile in die /etc/csh.cshrc ein.

Related Entries:
Wort in der tcsh löschen
Programm mit which finden
Liste der besuchten Verzeichnisse merken
foreach-Schleife in der tcsh
Vervollständigung in der tcsh
 Permalink

Tastaturlayout ändern

Arbeitet man auf der Konsole oder im Single User Mode und das Tastaturlayout stimmt nicht mit der vorhandenen Tastatur überein, so kann das Layout ganz einfach mit kbdcontrol angepasst werden. Voraussetzung im Single User Mode ist aber, dass /usr gemountet ist. Soll ein Tastaturlayout, zum Beispiel das schweizerdeutsche, geladen werden, verwendet man kdbcontrol mit der -l Option:

# kbdcontrol -l /usr/share/syscons/keymaps/swissgerman.iso.kbd

Wenn sich die Layoutdatei unter /usr/share/syscons/keymaps befindet, kann auf die vollständige Pfadangabe auch verzichtet werden:

# kbdcontrol -l swissgerman.iso

Um ein Layout automatisch zu laden, fügt man folgende Zeile in die /etc/rc.conf ein:

keymap="swissgerman.iso"

kbdcontrol befindet sich bereits im Basissystem vom FreeBSD. Mehr Informationen zu kbdcontrol findet man in der Manpage kbdcontrol(1).

 Permalink

Drahtloses Netzwerk suchen

Möchte man auf FreeBSD nach vorhandenen drahtlosen Netzwerken suchen, so muss zuerst die Netzwerkschnittstelle, falls noch nicht geschehen, hochgefahren werden:

# ifconfig <WLAN Karte> up

Danach kann nach drahtlosen Netzwerken gesucht werden. Dies kann einige Zeit dauern:

# ifconfig <WLAN Karte> scan
SSID BSSID CHAN RATE S:N INT CAPS
Netz1 00:13:49:11:22:33 1 54M 16:0 100 EPSB WPA
Netz2 00:09:5b:44:55:66 1 54M 5:0 100 EPS WPA
Netz3 00:13:49:77:88:99 6 54M 18:0 200 EPS
Netz4 00:14:c1:00:aa:bb 6 54M 15:0 100 EP
Netz5 00:00:c5:cc:dd:ee 7 11M 20:0 100 E
Netz6 00:ff:cc:ff:00:01 13 54M 70:0 100 EPSB WPA

Das E in der Spalte CAPS zeigt an, dass es sich um einen Access Point und nicht um ein Ad-Hoc Netzwerk handelt. Ein P symbolisiert ein verschlüsseltes Netzwerk. Diese Liste kann danach jederzeit bis zu einem neuen Scan wiedergegeben werden:

# ifconfig <WLAN Karte> list scan

Nun kann man sich zum Beispiel mit einem unverschlüsselten Netzwerk verbinden:

# ifconfig <WLAN Karte> inet <IP-Adresse> netmask <Netzmaske> ssid <SSID>

Mit einem WEP-verschlüsselten Netz kann man sich wie folgt verbinden:

# ifconfig <WLAN Karte> inet <IP-Adresse> netmask <Netzmaske> wepkey 1:<WEP-Schlüssel> wepmode on weptxkey 1 ssid <SSID>

Eine ausführliche Anleitung zu drahtlosen Netzwerken findet man im FreeBSD Handbuch: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-wireless.html

 Permalink

Beschreibung von sysctl Variablen anzeigen

Mittels der sysctl Variablen, kann das Verhalten von FreeBSD beeinflusst werden. Der aktuell gesetzte Wert einer Kernelvariablen kann mittels sysctl ausgelesen werden:

# sysctl net.inet.tcp.blackhole
net.inet.tcp.blackhole: 0

Oft sagen die Variablennamen jedoch nicht immer genau aus, für was die Variable zuständig ist, deshalb kann man sich mit der -d Option eine kurze Beschreibung der Variable anzeigen lassen:

# sysctl -d net.inet.tcp.blackhole
net.inet.tcp.blackhole: Do not send RST when dropping refused connections
# sysctl -d vfs.usermount
vfs.usermount: Unprivileged users may mount and unmount file systems

Mehr Informationen zu sysctl findet man in den Manpages sysctl(8) und sysctl.conf(5).

 Permalink
Prev Next221-230/325