Public Space-Garden Berlin

Friday, May 4, 2018

Bilder aus dem Public Space-Garden Berlin

20180504_140220.jpg

20180504_140313.jpg

20180504_140335.jpg

Wasser

20180504_140540.jpg

Stadt Acker ist wohl der korrekte Name ;-)

20180504_140355.jpg

20180504_140758.jpg

20180504_140854.jpg

20180504_140414.jpg

20180504_140947.jpg

Insektenhotels/Nisthilfen: Zum Thema Insektenhotels, kann ich den Youtube-Kanal von Werner David empfehlen

20180504_141008.jpg

Der Mai, der Mai, der Mai ist da und bringt Blütenpracht so wunderbar

20180504_141038.jpg

X Window System für Windows, um grafische Anwendungen unter Windows-Subsystem für Linux (WSL) auszuführen

Monday, April 2, 2018

Mit dem Windows-Subsystem für Linux (WSL) können Linux-Distributionen wie bspw. Debian GNU/Linux direkt unter Windows ausgeführt werden – einschließlich aller Anwendungen.

Um grafische Anwendungen (GUI) unter WSL ausführen zu können, muss unter Windows ein X Window System/X-Server installiert sein.

Es bietet sich hier an, den X-Server von Gygwin/X XWin.exe zu installieren, da Gygwin auch viele andere Pakete wie Perl, SSH, usw. bereitstellt und es ggf. schon installiert ist. Auf die Installation von Gygwin selbst geht dieser Artikel aber nicht weiter ein. Wie man Gygwin unter Windows installiert, aktualisiert usw. ist auf der Webseite des Projekts beschrieben. Siehe: https://cygwin.com und https://x.cygwin.com/. Kurz: Es wird das Programm setup-x86_64.exe ausgeführt und im Dialog ein Mirror ausgewählt, die Paketliste geladen/aktualisiert und die Pakete zur Installation/Aktualisierung ausgewählt.

Ist kein X-Server installiert, wird dies i.d.R. durch folgende Fehlermeldung ausgedrückt:

$ DISPLAY=":0" thunderbird # Start einer grafischen Anwendung (hier thunderbird)
Unable to init server: Could not connect: Connection refused
Error: cannot open display: :0

X-Server installieren

Der X-Server XWin.exe wird über das Cygwin-Paket xorg-server installiert:

wsl-x-server.png

Damit XWin.exe beim Windows Systemstart startet, muss es in den Autostart z.B. unter %APPDATA%\Microsoft\Windows\Start Menu\Programs\startup:

wsl-x-server-autostart.png

Wichtig für eine Verknüpfung im Autostart ist als Ziel: C:\cygwin64\bin\XWin.exe :0 -multiwindow -listen tcp -auth und Ausführen in: C:\cygwin64\home\%USERNAME% anzugeben.

Außerdem muss in der Windows Firewall XWin.exe konfiguriert/eingetragen sein, da es ein Netzwerkprotokoll ist! Der Zugriff muss aber nicht erlaubt werden und der Dialog kann mit abbrechen beendet werden.

Nun können auch grafische Anwendungen aus WSL (und auch aus Gygwin) heraus gestartet werden.

Die Anwendungsdaten befinden sich in folgenden Ordnern:

  • WSL:
    /mnt/c/Users/,
    /mnt/c/Cygwin/home/, /mnt/c/Cygwin64/home/,
    %LOCALAPPDATA%\Packages\*\LocalState\rootfs\home\
  • Cygwin:
    /cygdrive/c/Users/,
    C:\Cygwin\home\, C:\Cygwin64\home\,
    /cygdrive/c/Users/*/AppData/Local/Packages/*/LocalState/rootfs/home/

Cygwin aktualisieren

Um Cygwin bzw. die installierten Pakete zu aktualisieren, habe ich ein kleines PowerShell-Skript geschrieben:

# Download Cygwin
Invoke-WebRequest -uri "https://cygwin.com/setup-x86_64.exe" -OutFile "setup-x86_64.exe"

# Run Cygwin in unattended setup mode
# setup-x86_64.exe --help
Start-Process -FilePath "setup-x86_64.exe" -ArgumentList "--verbose","-q","--upgrade-also"

Portscan mit nmap: Hosts/Rechner und offene Ports im Netzwerk finden

Saturday, December 9, 2017

Um sich einen Überblick über das Netzwerk (LAN/WLAN) zu verschaffen, zu dem man sich verbunden hat, kann man einen Portscan auf das Netzwerk durchführen, um verbundene Hosts und angebotene Services/Dienste zu finden.

Unter Linux/GNOME kann der NetworkManager bzw. nmcli(1) verwenden werden, um sich die Netze anzuzeigen, zu denen man verbunden ist:

$ export LC_ALL=C # Damit der reguläre Ausdruck s.u. korrekt ist
$ lsip () {
>	nmcli -f uuid,device connection show --active \
>	| awk 'NR>1 && $2!="lo" {print $1}' \
>	| xargs nmcli -t connection show \
>	| sed -n -E "/^IP4.ADDRESS\[[0-9]+\]:/{s///;p}"
> }
$ lsip
192.168.1.91/24
10.230.42.59/28
192.168.10.200/24

Und dann mit z.B. nmap(1) einen Standard Nmap scan ausführen, um sich alle Hosts/Rechner anzuzeigen, die erreichbar sind (Ping), sowie deren offene Ports:

$ lsip | xargs nmap

Starting Nmap 7.40 ( https://nmap.org ) at 2017-12-14 18:20 CET
Nmap scan report for o2.box (192.168.1.1)
Host is up (0.00091s latency).
Not shown: 992 filtered ports
PORT     STATE SERVICE
21/tcp   open  ftp
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
515/tcp  open  printer
631/tcp  open  ipp
5431/tcp open  park-agent
9100/tcp open  jetdirect

Nmap scan report for 192.168.1.10
Host is up (0.00041s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
53/tcp  open  domain
80/tcp  open  http
443/tcp open  https

Nmap scan report for mydebian (192.168.1.91)
Host is up (0.00012s latency).
All 1000 scanned ports on 192.168.1.91 are closed

Nmap scan report for frei.funk (10.230.42.49)
Host is up (0.0032s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
53/tcp  open  domain
80/tcp  open  http
443/tcp open  https

Nmap scan report for android-a65183dd756bed42.lan (10.230.42.55)
Host is up (0.027s latency).
All 1000 scanned ports on android-a65183dd756bed42.lan (10.230.42.55) are closed

Nmap scan report for android-42250764e309f587.lan (10.230.42.56)
Host is up (0.022s latency).
All 1000 scanned ports on android-42250764e309f587.lan (10.230.42.56) are closed

Nmap scan report for 10.230.42.59
Host is up (0.000051s latency).
All 1000 scanned ports on 10.230.42.59 are closed

Nmap scan report for 192.168.10.200
Host is up (0.00030s latency).
All 1000 scanned ports on 192.168.10.200 are closed

Nmap done: 528 IP addresses (8 hosts up) scanned in 92.28 seconds

Vor einem Ping scan (oder auch Ping sweep) verstecken

Nmap sendet vor dem Portscan einen Ping, um die Erreichbarkeit einer IP-Adresse festzustellen und überspringt Adressen, die darauf keine Antwort senden (Pong).

Damit keine Antwort gesendet wird, müssen folgende Kernel-Parameter gesetzt werden:

# cat <<! >>/etc/sysctl.d/00-local.conf
> net.ipv4.icmp_echo_ignore_all=1
> net.ipv4.icmp_echo_ignore_broadcasts=1
> !
# sysctl -p

Alles scannen

Um den Ping scan zu deaktivieren und alle IP-Adressen zu scannen (-PN) und so auch verstecke Ports zu finden (-p), sowie die Betriebssystemerkennung (-O), die Versionserkennung (-sV), das Scannen mit Scripts (-sC) und traceroute (--traceroute) zu aktivieren und so mehr Details angezeigt zu bekommen, nutzt man folgende Parameter (Viele der genannten Parameter sind unter dem Parameter -A zusammengefasst, denn dieser soll einen umfassenden Satz von Scan-Optionen aktivieren, ohne dass man sich viele Parameter merken muss):

$ lsip | xargs nmap -A -PN -p "T:0-65535,U:0-65535"

Ein solcher Scan benötigt allerdings auch entsprechend mehr Zeit und wird als aufdringlich betrachtet.

Sie sollten dies nicht ohne Genehmigung anwenden.

Alternative lsip-Funktionen

In den Kommentaren, wurden noch Alternativen für die Funktion lsip aufgezeigt.

Von mir adaptiert (Für Leute die NetworkManager nicht einsetzen):

$ ip -f inet -br a | awk '$1!="lo" && $2!="DOWN" {print $NF}'

Beide obigen Methoden haben Nachteile: Das ip(8) z.B. bei Point-to-Point-Verbindungen und dem Filtern des Output mit awk/sed/usw. und das nmcli(1) bei nicht mit dem NetworkManager verwalteten Interfaces. Wer das als Gefrickel ansieht, kann sich auch ein Perl-Skript schreiben, das sauber alle Netzwerke auflistet. Die dafür nötigen Module sind über die Paketverwaltung in den Paketen libio-interface-perl und libnet-netmask-perl vorhanden:

#!/usr/bin/env perl

use IO::Interface::Simple;
use Net::Netmask;

for ( IO::Interface::Simple->interfaces ) {

    next if ( !$_->is_running );
    next if ( $_->is_loopback );

    $block = Net::Netmask->new( $_->address, $_->netmask );

    print "$block\n";
}

Um die IP-Adresse statt des Netzes auszugeben, schreib man folgendes Kommando: printf "%s/%s", $_->address, $block->bits;

Labskaus

Sunday, October 15, 2017

Labskaus ist mein Leibgericht. Dass weiss ich, aber der Labskaus nicht.

Zähne und Klauen

Thursday, September 21, 2017

Was daraus auch werden wird, es ist unsere Welt.
Nicht das Ende, auch nicht der Beginn – Nur anders.

Wir leben im Licht, weil das die Gesellschaft es von uns verlangt. Aber wir sind alle Kinder der Finsternis.
Gesetze sind das einzige, was uns von der Barbarei trennt. Denn die Bestie ist da, steckt in uns allen, beobachtet und lauert.

Wenn es keine Zivilisation mehr gibt die uns beschützt, wenn die Bestie das einzige ist was zwischen uns und dem Tod steht, werden wir mit Zähnen und Klauen, um unser Überleben kämpfen.