f.zz.de

f.zz.de

Tinyhouse 1

Posted Sun Mar 26 19:22:24 2017 Florian Lohoff in

Henris Tagwerk für heute ... Ein Mobiles Tinyhouse ... Mit Tür und Sitzbank ...

Digitale Archaeologie

Posted Sun Mar 26 09:40:37 2017 Florian Lohoff in

Für die alten mediaWaysler unter euch die noch Schmalbandeinwahl mitgemacht haben. Es gab - ich wollte sagen - gibt immer noch das Neptun Frontent um dinge in den LDAP Einzutragen. Ich habe da noch dinge in meinem Password Safe gefunden und das ist alles scheinbar noch aktiv. Nicht die Schmalbandeinwahl - aber das Frontend.

Stichworte: leonardo, mwdsltest, Toyota, WinShuttle

Geht zurück bis in die frühen 2000er Jahre ... Das Frontend ist zwar komplett obsolete aber das hat in 10 Jahren keiner gemerkt, daher läuft das immer noch.

Digitale Identitäten entsorgen

Posted Sun Mar 26 09:05:04 2017 Florian Lohoff in

Man muss schon aufpassen in welcher Reihenfolge man Accounts in diversen Social Media und Plattformen löscht. Facebook Account ist so mit das letzte was man löschen sollte ist mir dann mal aufgefallen. Da hängen noch 23 dinge dran die man dann nicht mehr los wird. Gut das man den nochmal schnell aktivieren kann. Es sollte jetzt aber so einiges meiner Digitalen Identität weg sein.

Veränderung

Posted Sat Mar 25 21:31:08 2017 Florian Lohoff in

Bye bye SixXS

Posted Thu Mar 23 18:44:44 2017 Florian Lohoff in

Lang lang ist es her das wir uns über SixXS mit IPv6 versorgen mussten. Jetzt da IPv6 überall verfügbar ist hust brauchen wir SixXS nicht mehr.

Dear Florian Lohoff,

TL/DR: SixXS is shutting down on 2017-06-06 (in ~10 weeks).

In 1999, Jeroen and I started SixXS, a project which aimed to provide IPv6 connectivity to users who wanted to learn about the network protocol and gain experience operating IPv6 networks. Our vision was to facilitate migration to IPv6 in content and access providers. [ ... ]

Lektüre zur Nacht

Posted Thu Mar 23 10:32:52 2017 Florian Lohoff in

MISRA C++:2008 Guidelines for the use of the C++ language in critical systems

220 Seiten

WWW::Mechanize

Posted Tue Mar 21 21:04:52 2017 Florian Lohoff in

Nach einer halben Stunde rumhampeln mit LWP::UserAgent, HTTP::Request, HTML::TreeBuilder um die Anmeldeseite von Roundcube auseinanderzudröseln um das Monitoring um die Cross-Site-Scripting protection drumherum hinzubekommen Stolpere ich über WWW::Mechanize .... Nach 11 Zeilen Fertig. Es kann so einfach sein - Noch ein bischen Nagios::Plugin drumherum und fertig ist der Check ...

my $mech=WWW::Mechanize->new();
$mech->get($np->opts->uri);
my $r=$mech->submit_form(
                form_number => 1,
                fields => {
                        _user => $np->opts->username,
                        _pass => $np->opts->password
                }
        );

if ($mech->status() ne 200) {
[ ... ]

git fix - read later

Posted Sun Mar 12 17:23:51 2017 Florian Lohoff in

Nur um es mal zu verlinken - Muss ich mir bei gelegenheit im Detail ansehen und auch mal ausprobieren.

dont amend - fix

Die Antwort auf den Rest

Posted Wed Mar 8 12:51:11 2017 Florian Lohoff in

Das nächste Jahr bin ich dann mal die Antwort nach dem Leben, dem Universum und dem ganzen Rest, und natürlich mit Handtuch.

Cognitive Load

Posted Wed Mar 8 12:42:26 2017 Florian Lohoff in

Sehr spannender und eigentlich offensichtlicher Artikel zur Softwareentwicklung. Der Titel finde ich bringt es aber ganz besonders auf den Punkt.

Wenn Funktionen oder Methoden beim ersten Blick nicht offenbaren was ihr Zweck oder Sinn ist, macht der Softwareentwickler einen Fehler. Die Struktur ist falsch oder die Abstraktion ist zu komplex oder das Problem ist falsch zerlegt.

Writing good code: how to reduce the cognitive load of your code

Random number generator

Posted Tue Mar 7 13:16:14 2017 Florian Lohoff in

Es ist schon spannend wie man sich so die Karten legen kann und das monatelang nicht findet. Ich habe für das Monitoring mit Icinga2 einen interface check in c++ geschrieben der alle möglichen Dinge pollt. D.h. nicht nur die Standard ifAdminStatus oder ifOperStatus sondern auch ifIn/OutPackets, Bytes, Errors, Discards etc. Dann gibt es Schwellwerte die überwacht werden. Zusätzlich polle ich noch die optischen Pegel der SFPs d.h. rxPower, txPower, Current und Temperature.

Das ganze fliesst dann über eine Influxdb in ein Grafana um es sich ansprechend ansehen zu können.

Leider hatte ich seit dem Umzug von einer VM auf richtige Hardware das Problem das immer wieder sporadisch Messwerte fehlten oder auch auch mal kaputt waren d.h. eindeutig falsche Messwerte. Die Fehlermeldungen die ich jedoch sah war "SNMP Timeout" als wenn das Gerät nicht antworten würde.

Also mit tcpdump mal nachgesehen und nein - Es werden alle requests beantwortet. Nach einer Schleife mit der SNMP library snmp++, in der das timeout handling auch noch kaputt war, war ich noch ratloser als vorher.

Bis ich heute mal debug logging eingebaut habe und feststellte das zu dem Zeitpunkt wenn die SNMP Timeouts auftreten alle Requests für das Device eine identische RequestID haben.

Die RequestID wird typischerweise dafür verwendet, das das Target retransmits erkennen kann. D.h. sollte es einen SNMP Request bekommen wird die Antwort erzeugt und diese Antwort zusammen mit der RequestID in einen cache gepackt. Sollte dann ein transmit kommen wird der request mit der Antwort aus dem cache beantwortet um ein paar CPU cycles zu sparen.

Wenn jetzt natürlich unterschiedliche Interfaces und EntitySensors gepollt werden, und alle mit einer identischen RequestID, dann kommen natürlich willkürliche Antworten zurück, je nachdem welcher Request zuerst bearbeitet wurde.

Wenn die Anzahl der Variable bindings aber nicht passt wird jedoch natürlich die Antwort verworfen. Wenn jedoch die Antwort passt d.h. es ist auch Interface oder auch ein EntitySensor werden die Daten durcheinandergewürfelt. TengigabitEthernet0/0/1/0 daten tauchen dann auf TengigabitEthernet0/2/3/2 auf ... Das alles absolut unvorhersagbar und willkürlich.

Des Rätsels Lösung war, das der random number generator initialisiert werden muss. In Wirklichkeit ist das ja nur ein "Pseudo Random Number Generator" PRNG. Dieser erzeugt für ein Seed immer dieselbe Reihe an Zufallszahlen.

Wenn man den Random Number Generator jetzt mit "time(0)" initialisiert, kommt natürlich für alle Prozesse die in derselben Sekunde gestartet werden identische Zufallszahlen bei raus. Es fehlt an Entropie.

Der schnelle fix ist ein

std::srand(std::time(0)^getpid());

gewesen. Der nimmt dann nicht nur die Zeit sondern ein XOR zwischen Zeit und Process ID. Immer noch nicht optimal, aber zumindest fixed es das Problem das zeitgleich gestartete Prozesse identische Zufallszahlen verwenden.

Spass mit protokollen

Posted Wed Feb 15 15:21:39 2017 Florian Lohoff in

Netconf spielereien ... Wir machen es mal zu Fuß - Und die Juniper sind gaaaanz lieb - Keine zombies gekillt ...

<!-- No zombies were killed during the
    creation of this user interface -->
<!-- user flo, class j-super-user -->
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

Mein Opa

Posted Sun Feb 12 16:47:19 2017 Florian Lohoff in

Per Zufall wieder in die Hand bekommen. Mein Opa Friedrich Dziock bei seinem Hobby der Fliegerei. Das Bild ist von 1928 und vermutlich beim Luftsportverein Essen aufgenommen.

Bedeutung von Facebook

Posted Sun Feb 5 14:35:10 2017 Florian Lohoff in

... oder warum Facebook für mich nur ein Spielzeug ist und bleibt.

Wenn man nicht der Kunde ist, ist man die Ware - Und so ist das nicht nur bei Facebook, sondern und gerade bei Google. Man sollte sich nicht zu sehr auf diese Dienst verlassen:

National Public Radio - Building, And Losing, A Career On Facebook

Glasfasern in Alfter

Posted Mon Jan 23 19:20:04 2017 Florian Lohoff in

Das ist ja spannend - Das hatte ich noch gar nicht so mitbekommen, aber offensichtlich hat die Innogy zwar das VDSL geschäft mit der Vitroconnect gemacht, dann aber die Glasfasern mit der Netcologne:

Wie man es machen kann, zeigt eine Kooperation zwischen Innogy und dem regionalen Betreiber Netcologne in der kleinen Gemeinde Alfter bei Bonn. Hier verlegte Innogy die Glasfaser, und der Kölner Netzbetreiber nahm 500 Haushalte in sein Netz auf.

Quelle: heise

Wochenstart der Diva

Posted Mon Jan 23 12:02:45 2017 Florian Lohoff in

Die Kollegen versuchen mich schon zu besänftigen.

radare2, ipmi, factory default

Posted Fri Jan 20 20:11:08 2017 Florian Lohoff in

Irgendwie ist das Thema IPMI immer ziemlich nervig. Es gibt eine ganze Batterie an tools die irgendwas machen, zumeist völlig unklar wie sie es machen. Dann gibt es 4 Generationen von Boards mit IPMIs und alle haben andere macken. Also mal radare2 probiert um das supermicro ipmicfg tool auseinanderzubröseln wie die ein factory default auch der LAN settings machen:

$ radare2 IPMICFG-Linux.x86_64 
[0x004017c0]> is* | grep Factory
f sym.bmc_FactoryDefaultAll 187 0x0040262c
f sym.ipmi20PlusVendderFactoryLan 79 0x00412952
f sym.ipmi20PlusVendderFactoryAllAMIX9 79 0x00412a52
f sym.ipmi20PlusVendderFactoryLanAMIX9 98 0x004129a1
f sym.ipmi20PlusVendderFactoryAll 79 0x00412a03
f sym.bmc_FactoryDefault 187 0x004024b6
f sym.ipmi20PlusFactory 154 0x004128b8
f sym.ipmi20PlusVendderFactory 79 0x00412807
f sym.ipmi20Factory 98 0x00412856
f sym.bmc_FactoryDefaultLan 187 0x00402571
[0x004024b6]> s sym.ipmi20PlusVendderFactoryAll
[0x00412a03]> pd 20
            ;-- sym.ipmi20PlusVendderFactoryAll:
            0x00412a03    55           push rbp
            0x00412a04    4889e5       mov rbp, rsp
            0x00412a07    4881ecf0000. sub rsp, 0xf0
            0x00412a0e    48c78528fff. mov qword [rbp-0xd8], 0x0
            0x00412a19    488d9530fff. lea rdx, [rbp-0xd0]
            0x00412a20    488d8528fff. lea rax, [rbp-0xd8]
            0x00412a27    48890424     mov [rsp], rax
            0x00412a2b    4989d1       mov r9, rdx
            0x00412a2e    41b800000000 mov r8d, 0x0
            0x00412a34    b900000000   mov ecx, 0x0
            0x00412a39    ba41000000   mov edx, 0x41
            0x00412a3e    be30000000   mov esi, 0x30
            0x00412a43    bf20000000   mov edi, 0x20
            0x00412a48    e83accffff   call sym.runIpmiCmd
               0x0040f687(unk) ; sym.runIpmiCmd
            0x00412a4d    0fb6c0       movzx eax, al
            0x00412a50    c9           leave
            0x00412a51    c3           ret
            ;-- sym.ipmi20PlusVendderFactoryAllAMIX9:

Nach ein bischen suchen scheint edi die Adresse zu enthalten, esi die netfun und 0x41 ist der command opcode in edx.

Schon kann man mit ipmitool raw da einen factory default hinschicken.

Syslogzeile des Tages

Posted Fri Jan 20 15:53:14 2017 Florian Lohoff in
Jan 20 12:11:14.105: NTP Core (INFO): 172.19.64.43 961D 8D popcorn popcorn

Selfie mit den Bros

Posted Fri Jan 20 14:23:41 2017 Florian Lohoff in

Man hat mir gesagt ich solle Froh sein mit den Spacken im Büro sitzen zu dürfen... Naja ....

DNS notify via TCP

Posted Sat Jan 14 18:04:34 2017 Florian Lohoff in

Nur um es mir zu merken - DNS Notifys gehen auch über TCP - Sehr spannend und ggfs eine Lösung an diversen stellen für mich:

$ dig +tcp +norec +opcode=notify dotat.at soa

12-Jan-2017 15:17:07.903 notify: info:
        client @0x7f185406dd00 ::1#57837:
        view auth: received notify for zone 'dotat.at'

OpenStreetMap Contributing

Posted Fri Jan 13 17:59:09 2017 Florian Lohoff in

Das zu Ende gegangene Jahr 2016 war mein bisher schwächstes seit 2012 bei OpenStreetMap. Das lag daran das ich in den Jahren 2011 bis 2015 viel auch beruflich mit OpenStreetMap gemacht habe, Ende 2015 dann aber ja den Arbeitgeber gewechselt habe. Seit dem ist OpenStreetMap dann doch nur noch ein Hobby.

Aber ich habe heute nach 172 Tagen Abstinenz wieder ein paar Papiercontainer entfernt die nicht mehr existieren. Es wird wieder Sommer und dann mache ich wieder mehr ...

Thiemo Seufer

Posted Sat Jan 7 13:58:14 2017 Florian Lohoff in

Da bin ich meinen LDAP am durchforsten und finde diesen Eintrag:

root@pobox:~# getent shadow | grep ths
ths:*:::::::
root@pobox:~# ldapsearch -x -H ldapi:// -b "dc=h,dc=zz,dc=de" uid=ths | grep dn
dn: cn=Thiemo Seufer,ou=user,dc=h,dc=zz,dc=de

Thiemo ist leider vor ein paar Jahren bei einem Autounfall (in einem Lupo) ums Leben gekommen. Scheinbar hatte ich ihm auf meinem Home NAS mal irgendwann einen Account gemacht. Nach fast 10 Jahren findet man das wieder und muss unweigerlich an so einen traurigen Moment zurück denken. Ich weiss noch wie fassungslos ich war als ich das erfahren habe.

4500X VSS gotcha

Posted Thu Jan 5 18:56:11 2017 Florian Lohoff in

Ein schönes gotcha heute. 2 Cisco 4500X VSS Stacks sollen mit einem Port-Channel verbunden werden. Nichts leichter als das. Das ganze ist etwa 3-4 Klicks entfernt. Kabel steckt, Transceiver stecken, 3 Klicks. Interface ist up - keine MAC Adressen.

Nach ein bisschen suchen findet sich der Grund - Der Spanning Tree ist der Überzeugung "Das ist ein Backup link" und der gehört in den Blocking State.

VLAN0024            Back BLK 2         128.1311 P2p 

Aeh? "Back" State? Noch nie von gehört. Hin und her gesucht und nichts gefunden. Am Ende hilft es die VLAN Priority auf einem der Switche zu verändern:

spanning-tree vlan 24 priority 8192

Dann die Anforderung - Doch ein Port-channel. Also schnell einen Port-channel mit LACP und der Port-channel kommt auch nicht hoch.

Die Fehlermeldung im Logfile:

EC-5-L3DONTBNDL2: Te2/1/31 suspended: LACP currently not enabled on the remote port.

WTF? Was soll der Müll denn jetzt wieder - Natürlich ist LACP an auf dem member interface:

channel-protocol lacp
channel-group 70 mode active

Es werden LACP Frames ausgetauscht und trotzdem kommt die obige Meldung. Nach einer halben Stunde rumprobieren fällt mir auf das beide Systeme eine identisch LACP sys-id haben:

sh lacp sys-id 
8192, 0200.0000.0020

Was zum Henker. Der erste Gedanke - Da hat doch wer gepennt und die MAC Adressen der Kisten sind identisch. Nach nochmal 10 Minuten ist des Rätsels Lösung klar.

Beide Switche sind mit einer identisch "virtual domain 32" installiert und leiten alle MAC Adressen und System IDs aus der Virtual Domain ab.

Daher hat am Anfang das Spanning-Tree nicht funktioniert weil der Switch meinte sich selber zu sehen. Identische MAC Adresse, VLAN, Priority, Port Cost etc. Durch das ändern der Priority war alles gut. Im LACP geht das so einfach nicht. Die LACP sys-id lässt sich scheinbar nicht setzen.

Die "virtual-domain" kann man scheinbar ohne auflösen des VSS Stacks und Neubau auch nicht ändern.

Also die running config abziehen. Die Virtual Domain ändern und als startup config auf beide Switche spielen und reloaden - Erst den slave dann sich selber.

Und schon kommt sowohl das LACP wie auch das Spanning Tree hoch.

Unfall die #3

Posted Thu Jan 5 11:06:21 2017 Florian Lohoff in

Anhörungsbogen als Zeuge ....

StVO 315c - Lupo platt

Posted Thu Dec 29 00:37:20 2016 Florian Lohoff in

Der Gegner hat jetzt wohl ein Verfahren nach 315c StVO "Gefährlicher eingriff in den Straßenverkehr" am Hals. Der Lupo ist wohl nen Totalschaden ...

Überholen und absichtlich einscheren und Vollbremsung ist halt Vorsatz. Gut das es eine Zeugin gab die angehalten hat.

Super Ingo

Posted Wed Dec 28 09:05:05 2016 Florian Lohoff in

Terrorbingo

Posted Sat Dec 24 08:59:05 2016 Florian Lohoff in

Am Dienstag morgen als ich ins Büro kam habe ich den Kollegen gesagt das am Ende der Täter in Berlin dem Verfassungsschutz garantiert schon lange bekannt ist, der am Ende nicht verhaftet sondern erschossen wird, und der Bundestagsuntersuchungsausschuss in 3 Jahren zu dem Schluss kommt das der Geld vom Verfassungsschutz bekommen hat.

Die ersten beiden Punkte haben wir dann mal abgehakt.

  • Täter bekannt
  • Täter erschossen

Jetzt findet ja schon die Aufarbeitung der Vorgeschichte statt, aus der dann des Untersuchungsausschuss hervorgeht.

SafeMyPlace

Posted Thu Dec 22 10:34:07 2016 Florian Lohoff in

Spannend - Die Afd stellt eine HandyApp vor namens "SafeMyPlace".

Wenn man sich das ansieht ist der Zweck ziemlich offensichtlich - Wir organisieren Bürgerwehren und ermitteln vermeintliche "No Go Zonen".

In den Videos melden blonde blauäugige Menschen, Dunkelhaarige Oberlippenbartträger der Polizei und es werden "No Go Zonen" auf der Karte erzeugt.

Wenn man sich die Reviews im AppStore durchliest

Linke und Multikulti freaks Wenn man meint sich diesen Abschaum hingeben zu müssen dann tut es. Wenn diese solche Hilfe nicht wollen, dann werft euch den Invasoren zum Frass vor. Antifa, fuck you. AFD und sonst nix

Spannend ist die im Impressum angegebene Firma "dsp Deutsche Datenschutz GmbH". Hier kommt dazu die Meldungen rein das da ein "Daniel Redanz" beteiligt ist - Verifiziert habe ich das nicht. Dazu passt das SafeMyPlace bei einem Dienstleister läuft der auch Dienstleister für meine Ex-Firma ist bei der Daniel Redanz jetzt als Geschäftsführer u.a. den Vertrieb verantwortet. D.h. Verstrickungen gibt es da reichlich.

Vielleicht sind da einfach nur ein paar dinge aus dem Ruder gelaufen und man hat nicht so genau hingesehen was man da eigentlich so Baut und Bewirbt - Aber das ist schon wieder so ein Streichholz an der Gesellschaft.

Level 3 frnk bei mediaWays

Posted Wed Dec 21 16:46:34 2016 Florian Lohoff in

Das ist ja Spannend - Ein Ticket bei Level 3 eröffnet für einen 10G Circuit bei uns der eine Remote Fault Indication zeigt und das Ticketsystem zeigt mir als Site name: "FRNKGEDY - MEDIAWAYS POI"

Die Vergangenheit lebt ...

Afghanen, Oberst Klein, Berlin

Posted Tue Dec 20 19:05:58 2016 Florian Lohoff in

Nur um dem mal mehr Gedanken zuzuspielen - Das Gedankenspiel von Fefe zum Anschlag in Berlin.

Als wir (Oberst Klein) in Afghanistan eine rechtswidrige Bombardierung befohlen hat und damit jede Menge Afghanische Zivilisten gestorben sind, haben wir zwar hinterher darüber geredet, aber Oberst Klein vor der Afghanischen Justiz beschützt und anschliessend Befördert.

Das wäre so als würden die Afghanen den verrückten aus Berlin jetzt heim holen, nicht ausliefern und anschliessend, sagen wir, zum Aussenminister machen.