Kategorie: IT
RSS

Linux: Archiv-Dateiformate (Packen und Entpacken)

2018-09-09 von admin

Es existieren verschiedene Formate zum Packen und Entpacken von Dateien. Die einfache Verwendung von Tools zum Packen und Entpacken der verschiedenen Archive unter Linux werden im folgenden kurz beschrieben.

 

ZIP

Mit dem ZIP-Dateiformat können Dateien oder ganze Verzeichnisbäume komprimiert werden. Die Abkürzung „ZIP“ steht für zipper (englisch „Reißverschluss“).

Befehl zum Packen mehrerer Dateien:

zip archiv.zip file01 file02

Befehl zum Entpacken:

unzip archiv.zip

 

Wenn auch Ordner in das Archiv aufgenommen werden sollen, ist das mit dem Parameter „r“ möglich.

zip -r archiv.zip folder1 folder2

 

bzip2

Das Komprimierungsprogramm bzip2 kann ebenfalls zum Packen von Dateien verwendet werden.

Befehl zum Packen mehrerer Dateien:

bzip2 -k file01 file02

Befehl zum Entpacken:

bunzip2 file01.bz2

 

gz/gzip

Das Kompressionsprogramm gzip steht für GNU zip.

Befehl zum Packen mehrerer Dateien:

gzip -k file01 file02

Befehl zum Entpacken:

gunzip file01.gz

 

RAR

Der Name steht für Roshal ARchive.

Befehl zum Packen mehrerer Dateien:

rar a archiv.rar file01 file02

Befehl zum Entpacken:

unrar x archiv.rar

 

TAR

Der Name „TAR“ steht für tape archiver (Bandarchivierer). Ursprünglich wurde das Programm für die Sicherung von Daten auf Bandlaufwerken verwendet. Bei einem tar-Archiv werden die Daten nicht komprimiert, dafür muss ein zusätzliches Programm verwendet werden.

Befehl zum Packen mehrerer Dateien:

tar cfv archiv.tar file01 file02

Befehl zum Entpacken:

tar xfv archiv.tar

 

Parameter Beschreibung
x extract – Entpackt ein Archiv
c create – Erstellt ein neues Archiv
f file – Dateiname oder Laufwerk
v verbose – zeigt während des Vorgangs die Dateinamen an

 

Mit einer Zusatzoption ist es möglich, auch tar-Archive zu komprimieren. Meist wird dafür gzip verwendet.

Befehl zum Packen mehrerer Dateien und komprimieren:

tar cfvz archiv.tar.gz file01 file02

Befehl zum Entpacken:

tar xfvz archiv.tar.gz

 

Alternativ kann auch bzip2 verwendet werden. Befehl zum Packen mehrerer Dateien und komprimieren:

tar cfvj archiv.tar.bz2 file01 file02

Befehl zum Entpacken:

tar xfvj archiv.tar.bz2

 

Kategorie: IT Schlagwörter: , , , , ,

Linux Datei Rechte

2018-08-18 von admin

Unter Linux, genau wie unter Windows, können je Datei oder Ordner Rechte vergeben werden. Die vergebenen Rechte beeinflussen den Zugriff auf die entsprechenden Dateien und Verzeichnisse.

Mit dem Befehl „ls -l“ kann man sich die Rechte anzeigen lassen:

ls -l file.sh

Folgende Ausgabe erscheint auf der Konsole:

-rwxrw-r-- 1 owner group 42 Aug 11 13:37 file.sh

 

Beschreibung

Position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Ausgabe r w x r w r 42 owner group Aug 11 13:37 file.sh
Beschreibung Typ Eigentümer Gruppe Sonstiges Größe (KB) Eigentümer Gruppe Änderungszeit Dateiname

 

Dateisystem Typen

Die Position „1“ zeigt an, um welchen Typen es sich handelt.

 

Typ Bezeichnung Beschreibung
d Directory Dieser Buchstabe steht für ein Verzeichnis/Ordner.
File Der Bindestrich steht für eine Datei.
l Symbolic link Bei einem Link handelt es sich um Verknüpfung zu einer Datei oder einem Verzeichnis.
c Character Device Dies ist eine zeichenorientierte Gerätedatei, welche unter /dev zu finden ist.
b Block Device Dies ist eine blockorientierte Gerätedatei, welche unter /dev zu finden ist.
s Socket Dies ist ein sog. Unix Domain Socket, wird für die Interprozess-Kommunikation verwendet.
p Pipe Alles was ein Programm in die Pipe schreibt, kann von einem anderen Programm ausgelesen werden.

 

Attribute

Die Positionen „2“ bis „10“ zeigen an, welche Rechte auf dem Ordner oder der Datei vergeben sind. Dabei wird zwischen folgenden Rechten unterschieden:

Zeichen Beschreibung
Eigentümer User welchem die Datei gehört
Gruppe User die  Mitglied in dieser Gruppe sind
Sonstiges Alle anderen User

 

Die folgende Tabelle erläutert die Bedeutung der einzelnen Buchstaben:

Zeichen Bedeutung Beschreibung
r read Erlaubt den lesenden Zugriff
w write Erlaubt schreibenden Zugriff
x execute Erlaubt das Ausführen einer Datei

 

Sonderrechte

Statt dem „x“ besteht die Möglichkeit, zusätzliche Rechte zu vergeben.

Zeichen Beschreibung
t Wird das „Sticky-Bit“ auf einem Verzeichnis angewendet, so dürfen die darin erstellten Dateien oder Verzeichnisse nur vom Dateibesitzer gelöscht oder umbenannt werden.
s Das „SUID-Bit“ Recht („Set User ID“) schränkt das Ausführungsrecht eines Programms dahingehend ein, dass das Programm mit den Rechten des Dateibesitzers ausgeführt wird (Position 4).
Das „SGID-Bit“ Recht („Set Group ID“) schränkt das Ausführungsrecht eines Programms dahingehend ein, dass das Programm mit den Rechten der Dateigruppe läuft (Position 7).
Zusätzlich wird bei einem Ordner die Gruppe an alle Unterordner und Dateien vererbt, die in diesem Ordner neu erstellt werden.

 

Rechte vergeben

Die Rechte auf ein Verzeichnis oder für eine Datei können mit dem Befehl „chmod“ vergeben werden.

Symbol Rechte Oktal Binär
rwx Lesen Schreiben Ausführen 7 111
rw- Lesen Schreiben 6 110
r-x Ausführen 5 101
r– Lesen 4 100
-wx Schreiben Ausführen 3 011
-w- Schreiben 2 010
–x Ausführen 1 001
0 000

 

Um die identischen Rechte wie in unserem Beispiel zu vergeben, lautet der Befehl:

chmod 0764 file.sh

Die führende Null kann dabei entfallen (0764  = 764) und führt zum identischen Ergebnis.

Position 1 2 3 4 5 6 7 8 9 10
Recht r w x r w r
Wert in Oktal 7 6 4

 

Für die Vergabe der Sonderrechte wird die erste Stelle verwendet und die führende Null entsprechend belegt.

Recht Wert
SUID-Bit 4
SGID-Bit 2
Sticky-Bit 1

 

Eine Kombination der Sonderrechte wird durch Addition der Werte erreicht.

Kategorie: IT

Ubuntu: IDA Installieren

2018-07-14 von admin

Die Software IDA ist ein Disassembler, mit der Binärcode in Assemblersprache umgewandelt werden kann.

Schritt 1: Download IDA

Unter www.hex-rays.com kann die Software heruntergeladen werden.

Schritt 2: Installieren

Nach dem Download eine Konsole öffen und in den entsprechenden Order navigieren. Daraufhin der Datei die Ausführungsrechte vergeben.

chmod +x idafree70_linux.run

Starten der Installation.

sudo ./idafree70_linux.run

Schritt 3 (Optional): Symlink erstellen

Mit der Vergabe eine Symlinks ist die Software Systemweit aufrufbar.

sudo ln -s /opt/idafree-7.0/ida64 /usr/bin/
Kategorie: IT Schlagwörter:

Burp Suite – Install CA Certificate in Firefox

2018-06-16 von admin

Um „https“ Verbindungen mit der Burp Suite bearbeiten zu können, wird im Firefox ein Zertifikat benötigt. Dafür sind folgende Schritte durchzuführen:

Schritt 1

Den Browser Firefox starten und das Menü „Bearbeiten – Einstellungen“ aufrufen. Auf dieser Seite bis zu den Einstellungen „Netzwerk Proxy“ scrollen und den „Einstellungen …“ Button klicken.

Danach die Einstellungen für den lokalen Proxy setzen. Der Standard der Burp Suite ist auf dem Screenshot abgebildet. Falls dieser abweicht, muss eine entsprechende Anpassung vorgenommen werden.

Schritt 2

Die Burp Suite starten und im Firefox die Seite „http://burp“ aufrufen.

Jetzt oben rechts auf „CA Certificate“ klicken und das Zertifikat herunterladen.

Schritt 3

Als nächstes im Firefox erneut die Einstellungen aufrufen und unter „Privatsphäre & Sicherheit“ zu den Zertifikaten scrollen. Daraufhin den Button „Zertifikate anzeigen“ klicken.

In dem Dialog „Zertifikate Manager“ kann mittels des Buttons „Importieren“ das eben heruntergeladene Zertifikat dem Firefox hinzugefügt werden.

Schritt 4

Jetzt ist es möglich, „https“ Verbindungen mit der Burp Suite zu bearbeiten. Wenn die Burp Suite nicht mehr benötigt wird, nicht vergessen, die Proxy Verwendung im Firefox entsprechend zu deaktivieren.

Kategorie: IT Schlagwörter: , , ,

Ubuntu: Install Burp Suite

2018-06-09 von admin

Die Burp Suite ist eine Software zum Testen der Security von Web Anwendungen. Die Software kann unter

portswigger.net/burp/communitydownload heruntergeladen werden.

Nach dem Download wird mit dem Befehlt „chmod“ das „Execute“ Recht vergeben.

chmod +x burpsuite_community_linux_v1_7_33.sh

Daraufhin kann die Installation gestartet werden.

sudo ./burpsuite_community_linux_v1_7_33.sh

Nach der Installation ist das Programm unter „Sonstige“ im Menü von Ubuntu zu finden.

Kategorie: IT Schlagwörter: ,

Raspberry PI: Board Version herausfinden

2018-04-21 von admin

Von Zeit zu Zeit kommen neue Raspberry Pi Boards auf den Markt. Der Unterschied der neueren Boards sind meist Hardwareveränderungen. Diese Änderungen können Auswirkungen auf eigene Projekte haben. Jeder Pi besitzt eine eindeutige Revisionsnummer. Mit der Nummer kann das Modell eines Raspberry Pi identifiziert werden.

Mit dem Befehl „pinout“ wird auf der Konsole folgende Darstellung ausgegeben und die Revisionsnummer kann in Erfahrung gebracht werden.

Eine weitere Möglichkeit ist die Anzeige der Datei „cpuinfo“. Dafür auf der Konsole den Befehl:

cat /proc/cpuinfo

ausführen und folgende Informationen werden angezeigt:

Mit der Revisionsnummer ist es daraufhin möglich, in der folgenden Tabelle das Modell zu recherchieren.

Model und PCB Revision RAM Revisionsnummer
Model B Rev 1 256MB 0002
Model B Rev 1
ECN0001 (no fuses, D14 removed)
256MB 0003
Model B Rev 2 256MB 0004
0005
0006
Model A 256MB 0007
0008
0009
Model B Rev 2 512MB 000d
000e
000f
Model B+ 512MB 0010
0013
900032
Compute Module 512MB 0011
Compute Module 512MB 0014
Model A+ 256MB 0012
Model A+ 256MB 0015
Model A+ 512MB 0015
Pi 2 Model B v1.1 1GB a01041
Pi 2 Model B v1.1 1GB a21041
Pi 2 Model B v1.2 1GB a22042
Pi Zero v1.2 512MB 900092
Pi Zero v1.3 512MB 900093
Pi Zero W 512MB 9000C1
Pi 3 Model B 1GB a02082
Pi 3 Model B 1GB a22082
Pi 3 Model B+ 1GB a020d3

 

Quellen

elinux.org/RPi_HardwareHistory

Kategorie: IT

Raspberry PI: WLAN manuell einrichten

2018-04-14 von admin

Mein Link Raspberry PI (Modell 2 Modell B Rev. 1.1, Debian Stretch) verfügt per default über kein WLAN. Durch einen USB Stick (EDIMAX EW-7811UN Wireless USB Adapter) kann WLAN ganz einfach nachgerüstet werden.

Als erstes den USB Stick einstecken, dieser wird automatisch erkannt. Danach sollte vorsorglich das System des Pi aktualisiert werden. Dafür folgende Befehle auf dem Pi eingeben:

sudo apt update
sudo apt upgrade
sudo reboot

Als zweites muss lediglich das WLAN konfiguriert werden. Dafür die Datei „/etc/wpa_supplicant/wpa_supplicant.conf“ als Root bearbeiten. Die folgenden Zeilen in die Datei einfügen und die beiden Attribute SSID und PSK entsprechend der eigenen WLAN Konfiguration anpassen.

network={
  ssid="meinWLAN"
  psk="strenggeheim"
}

Als drittes und letztes gilt es, das Device zu aktivieren.

sudo ifup wlan0

 

Kategorie: IT

Raspberry PI: GPIOs mittels I2C Port Expander (MCP23017) erweitern

2018-04-11 von admin

Mit dem Chip MCP23017 ist es sehr einfach möglich, eine Porterweiterung (Port Expander) des Raspberry Pi vorzunehmen. Dafür wird der I2C-Bus (Inter Integrated Circuit) des Raspberry Pi verwendet, um mit dem Baustein MCP23017 zu kommunizieren.

 

Setup

Komponenten Beschreibung
Raspberry PI Raspberry Pi 2 Model B v1.1
Betriebssystem Raspbian Stretch
Chip MCP23017
Datenblatt microchip.com/wwwproducts/en/MCP23017 (Documents)
Software fritzing.org

 

Vorbereitung

Vor dem Einsatz sollte das System des Raspberry Pi aktualisiert werden. Dafür die folgenden Befehle eingeben:

apt-get update
apt-get upgrade

Daraufhin die Verwendung von I2C in der Datei „/boot/config.txt“ aktivieren (Zeile einfügen oder auskommentieren).

dtparam=i2c_arm=on

Als nächstes in der Datei „/etc/modules“ zwei Module einfügen.

i2c-dev
i2c-bcm2708

Bei neueren Pi Versionen müssen die Module noch aus der Blacklist Datei entfernt werden:

sudo vi /etc/modprobe.d/raspi-blacklist.conf

Vor den beiden Einträgen eine Raute (#) setzen.

#blacklist spi-bcm2708
#blacklist i2c-bcm2708

 

Damit der I2C Bus angesprochen werden kann, folgende Pakete installieren:

sudo apt-get install python-smbus i2c-tools

Anschließend den Pi neu starten.

 

Verkabeln

Der MCP23017 besitzt den folgenden Aufbau, wie auf dem Bild ersichtlich. Weitere Information können dem Datenblatt entnommen werden.

Um sich mit der Funktionsweise des MCP23017 vertraut zu machen, wurden 3 Dioden angeschlossen.

Folgende PINs sind belegt:

Pin (MCP23017) Pin (Pi)
Pin 9 (VDD) Pin 1 (Power 3.3V)
Pin 10 (VSS) Pin 30 (GND)
Pin 12 (SCL) Pin 5 (GPIO3 – SCL1)
Pin 3 (SDA) Pin 3 (GPIO3 – SDA1)
Pin 18 (Reset) Power 3.3V
Pin 15 (A0)
Pin 16 (A1)
Pin 17 (A2)
GND

 

Aufbau

 

Testen

Die Adresse einen angeschlossenen I2C-Bausteins kann mit dem Programm „i2cdetect“ geprüft werden:

sudo i2cdetect -y 1
Befehl Beschreibung
ic2detect Der Befehl aus i2c-tools zum “Auffinden” von I2C Peripherie
-y Parameter zum Ausführen ohne Nachfrage
1 Nummer des Busses; Die Nummer kann 1 oder 0 sein,
je nachdem, ob der I2C0- oder I2C1-Port verwendet wird.

 

Die Ausgabe des Befehls sollte sich so darstellen:

Werte schreiben

Nachdem die Baustein-Adresse ablesbar ist, kann jetzt mit dem Schreiben von Werten begonnen werden. Dafür müssen alle Pins der Bank A (GPA) als Ausgang deklariert werden:

i2cset -y 1 0x20 0x00 0x00

Es wird in jedes der 8 Bits eine “0” geschrieben. Eine 1 würde den entsprechenden Pin als Eingang deklarieren (Default). Daraufhin können einzelne Pins oder alle angesprochen werden. Danach können mit dem Befehl „i2cset“ einzelne Pins geschaltet werden.

i2cset -y 1 0x20 0x14 0xff
Befehl Beschreibung
i2cset Der Befehl aus i2c-tools zum “Setzen” von Werten
-y Parameter zum Ausführen ohne Nachfrage
 1 Bus Nummer
0x20 Bausteinadresse
0x14 Zeile (GPA = 0x14; GPB = 0x15)
0xff Der jeweilige Wert (Pin) in hexadezimal. In diesem Fall werden alle PINs gesetzt.

 

Folgende PINs können je Bank (GPA/GPB) belegt werden:

Pin
(Wert)
Hex
7 0x80
6 0x40
5 0x20
4 0x10
3 0x08
2 0x04
1 0x02
0 0x01
all 0xff
off 0x00

 

Wenn z.B. der PIN 0 und 2 gleichzeitig gesetzt werden soll, dann muss der Hex Wert 0x05 (Binär 101) vergeben werden.

0x01 + 0x04 = 0x05

 

Werte lesen

Zum Auslesen wir der Befehl „i2cget“ verwendet.

i2cget -y 1 0x20 0x14
Befehl Beschreibung
i2cget Der Befehl aus i2c-tools zum „Auslesen“von Werten
-y Parameter zum Ausführen ohne Nachfrage
1 Bus Nummer
0x20 Adresse des Bauteils
0x14 Auszulesende Zeile
Kategorie: IT Schlagwörter: , ,

SQL Developer – Spracheinstellungen ändern

2018-03-31 von admin

Um die Spracheinstellungen der Software Oracle SQL Developer zu ändern, einfach in den Ordner des Programms wechseln und die Datei

..sqldeveloper\ide\bin\ide.conf

mit einem Text-Editor öffnen.

Daraufhin die Zeile

AddVMOption -Duser.language=en

hinzufügen. Jetzt den SQL Developer neu starten und die gesetzte Sprache, hier Englisch, wird angezeigt.

Kategorie: IT Schlagwörter:

SQL Developer – ORA-00904 ORA_ROWSCN invalid identifier

2018-03-24 von admin

Wenn im SQL Developer beim Betrachten von Datenbanktabellen der Fehler

ORA-00904: "ORA_ROWSCN": invalid identifier

auftritt, dann ist eine Anzeige der Tabelleninhalte nicht mehr möglich.

Eine Abhilfe kann im Menü unter „Tools – Preferences… – Database – Object-Viewer“ konfiguriert werden.

Hier das Kontrollkästchen „Use ORA_ROWSCN for DataEditor insert and update statements“ deaktivieren und danach sind die Daten wieder sichtbar.

Kategorie: IT Schlagwörter:

JavaScript-Engines – ein kleiner Überblick

2018-03-17 von admin

Eine JavaScript-Engine ist ein Programm oder Interpreter, welches JavaScript-Code ausführen kann. Anwendung finden JavaScript-Engines meistens in Webbrowsern.

Einige der bekanntesten sind in der Tabelle aufgeführt:

Engine Entwickler Browser Programmiersprache
V8 Google Chrome, Opera  C++
Rhino Mozilla Foundation Firefox  Java
SpiderMonkey Netscape Netscape Navigator  C/C++
JavaScriptCore Apple Safari  C++
KJS KDE Projekt Konqueror  C++
Chakra Microsoft Internet Explorer  C++

 

V8

Die Chrome V8 oder einfach ausgedrückt V8, ist eine von Google entwickelte JavaScript-Engine. V8 kompiliert JavaScript direkt in nativen Maschinencode, bevor dieser ausgeführt wird. V8 ist für die Plattformen x86, ARM oder MIPS Architekturen ausgelegt (32- und 64-Bit).

Rhino

Rhino ist vollständig in Java geschrieben und wurde von der Mozilla Foundation entwickelt. Rhino kompiliert JavaScript in Java-Bytecode, kann diesen aber auch zur Laufzeit interpretieren.

SpiderMonkey

SpiderMonkey ist in C/C++ geschrieben und wurde von Netscape entwickelt. SpiderMonkey diente der Mozilla Foundation als Grundlage zur Entwicklung von Rhino.

JavaScriptCore

JavaScriptCore ist eine Abspaltung von KJS und wird von Apple weiterentwickelt. Vor der Ausführung wird JavaScript in Bytecode übersetzt, welches direkt zur Maschinensprache kompiliert.

KJS

KJS wurde ursprünglich von Harri Porten für den KDE Webbrowser Konqueror entwickelt.

Chakra

Chakra (JScript9) ist eine JavaScript-Engine, welche von Microsoft entwickelt wurde. ChakraCore (JavaScript) ist ein Teil von Chakra und ist eine JavaScript-Engine für den Microsoft Edge Browser. Chakra ist für die Plattformen x86/x64/ARM Architekturen ausgelegt.

 

Weiterführende Links

https://en.wikipedia.org/wiki/List_of_ECMAScript_engines
https://en.wikipedia.org/wiki/Chakra_(JScript_engine)
https://github.com/Microsoft/ChakraCore
https://developers.google.com/v8/
https://developer.apple.com/documentation/javascriptcore
https://en.wikipedia.org/wiki/Comparison_of_web_browser_engines
https://de.wikipedia.org/wiki/Rhino_(Programmierung)
https://developer.mozilla.org/de/docs/Rhino
https://github.com/alrra/browser-logos

Kategorie: IT Schlagwörter: , ,

Linux: PDF Dokument Restriktionen entfernen

2018-03-10 von admin

Mit dem pdftk ist es möglich, Restriktionen von Funktionen in einer PDF Datei, wie z.B: Drucken mit niedrigerer Qualität, Verhinderung des Kopierens von Texten, Verhinderung der Kommentarfunktionen, zu entfernen.

Dafür einfach in der Konsole den folgenden Befehl verwenden:

pdftk Dokument.pdf output free.pdf allow AllFeatures
Kategorie: IT Schlagwörter: , , , ,

JDK ohne Adminrechte installieren

2018-03-03 von admin

Mit den folgenden Schritten ist es möglich, das JDK (Java Development Kit) auf einem Windows PC ohne Administratorenrechte zu installieren.

Voraussetzungen

  1. Download Oracle JDK 
  2. Download Portable 7zip

 

Installation

1. Öffnen der Datei „jdk-8u161-windows-x64.exe“ mit 7Zip

Bei der x86 Version ist die tools.zip gleich ersichtlich. Bei der x64 ist die tools.zip unter „.rsrc\1033\JAVA_CAB10\111\“ zu finden.

2. Entpacken

Die ZIP Datei öffnen und entpacken.

3. CMD

Als nächstes eine Eingabeaufforderung öffnen und zum entpackten Ordner (jdk-8u161) navigieren. Daraufhin in den Ordner „lib“ wechseln. In dem Ordner befinden sich Dateien mit der Endung „.pack.“ Die Dateien müssen mit dem Tool unpack200 extrahiert werden. Dafür folgendes Kommando eingeben:

for /R %f in (.\*.pack) do @"%cd%\bin\unpack200" -r -v -l "" "%f" "%~pf%~nf.jar"

4. Danach kann der Ordner bspw. nach „D:\JavaJDK\“ verschoben werden.

 

Quelle: www.whitebyte.info/programming/java/how-to-install-a-portable-jdk-in-windows-without-admin-rights

Kategorie: IT Schlagwörter: , ,

SQL Developer – Startup Script

2018-02-24 von admin

Wird bei einer Oracle Datenbank das Feature VPD verwendet, so kann es hilfreich sein, dass der Kontext bei einer Datenbankverbindung automatisch gesetzt wird. Bei der Software SQL Developer kann beim Verbindungsaufbau ein Script hinterlegt werden, welches nach erfolgreichem Aufbau automatisch ausgeführt wird.

Dafür im Menü der Software SQL Developer unter „Tools – Voreinstellungen“ den Eintrag Datenbank wählen und das „login.sql“ eintragen.

In dem Script reicht ein einfacher Aufruf der notwendigen Prozedur aus.

execute security_package.set_context('MEIN_PARAMETER');
Kategorie: IT Schlagwörter: ,