Gnu.org im Jahr 1998 stecken geblieben

Ja, ich weiß, Ihr könnt es nicht mehr lesen, der xte Mailserver der keine TLS 1.2 kann, nur leider hat der hier eggs.gnu.org eine wichtige Rolle, der handelt nämlich Emails für gnu.org . Kein TLS 1.2 , keine Emails mehr aus Europa.

„.. und dabei ist FOSS & TLS 1.2 kein Widerspruch.“

Trying TLS on eggs.gnu.org[209.51.188.92:25] (10):

secondstest stage and result
[000.007]Connected to server
[000.167]<–220 eggs.gnu.org ESMTP Exim 4.71 Sat, 09 Feb 2019 11:54:20 -0500
[000.167]We are allowed to connect
[000.167] –>EHLO www6.CheckTLS.com
[000.174]<–250-eggs.gnu.org Hello www6.checktls.com [159.89.187.50]
250-SIZE 52428800
250-PIPELINING
250-STARTTLS
250 HELP
[000.174]We can use this server
[000.175]TLS is an option on this server
[000.175] –>STARTTLS
[000.185]<–220 TLS go ahead
[000.186]STARTTLS command works on this server
[000.275]Connection converted to SSL
SSLVersion in use: TLSv1
Cipher in use: DHE-RSA-AES256-SHA
Certificate 1 of 3 in chain: Cert VALIDATED: ok
Cert Hostname VERIFIED (eggs.gnu.org = eggs.gnu.org | DNS:eggs.gnu.org | DNS:mail.gnu.org)
cert not revoked by CRL
cert not revoked by OCSP
serialNumber=03:f9:06:4d:6c:6d:1e:1c:83:03:50:8a:32:c0:d5:a9:da:99
subject= /CN=eggs.gnu.org
issuer= /C=US/O=Let’s Encrypt/CN=Let’s Encrypt Authority X3
Certificate 2 of 3 in chain: Cert VALIDATED: ok
cert not revoked by CRL
cert not revoked by OCSP
serialNumber=0a:01:41:42:00:00:01:53:85:73:6a:0b:85:ec:a7:08
subject= /C=US/O=Let’s Encrypt/CN=Let’s Encrypt Authority X3
issuer= /O=Digital Signature Trust Co./CN=DST Root CA X3
Certificate 3 of 3 in chain: Cert VALIDATED: ok
cert not revoked by CRL
cert not revoked by OCSP
serialNumber=44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b
subject= /O=Digital Signature Trust Co./CN=DST Root CA X3
issuer= /O=Digital Signature Trust Co./CN=DST Root CA X3

wenn man mal genauer hinsieht mit :  „openssl s_client -connect eggs.gnu.org:25 -starttls smtp -tls1“

Subject=/CN=eggs.gnu.org
….
New, SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1
Cipher : AES256-SHA
….
250 HELP

sieht dann auch, daß der Cipher noch aus SSLv3 Zeiten stammt, was nicht verwundert, weil TLS 1.0 nur SSLv3 mit SNI Support ist.

Falls jemand von Euch jemand den GNU Leuten Emails schicken will, machts gleich in Klartext 😀

Netzwerktools: Iptraf, ifstat, vnstat, Ping & Pong

Im Artikel über Bandbreitenmessungen in der Konsole habe ich Euch ja angedroht, daß es eine Fortsetzung gibt 🙂

Fangen wir mal mit der einfachsten Fragestellung im Netzwerk an:

Habe ich überhaupt ein Netz ?

Dazu fragen wir den Netzwerkstack( ab jetzt nur noch TCP/IP Stack) von Linux mit „ip link“, ob wir überhaupt eine aktive Netzwerkkarte haben, wie man sich denken kann, wird das ohne Netzwerkkarte ein Problem.

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 40:66:3e:21:1a:76 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:0a:cf:07 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:0a:cf:07 brd ff:ff:ff:ff:ff:ff

Wir erhalten eine Liste aller nützlichen Interface (Netzwerkadapter) mit Ihrem jeweiligen Status.

Das hier als 1 bezeichnete Interface heißt „lo“ und ist das Loopback Device besser bekannt mit seiner StandardIP 127.0.0.1 . Es ist von außen nicht erreichbar und nur für intere Zwecke da. Ein Unixrechner ohne 127.0.0.1 ist mir nicht bekannt 😉 Das Loopback Device wird für diverse Zwecke gebraucht u.a. das mounten von Truecryptcontainern und Netzwerktunneln.

An zweiter Stelle kommt in unserer Liste das „enp2s0“ früher mal als „eth0“ bezeichnet. Heute kommen die Bezeichnungen vom Kernel und zwar nicht direkt zufällig, aber meisten eine Zusammenstelung aus Devicenamen und Ports des Chips der für das Interface verantwortlich ist. Es kann bei jedem anders aussehen, wenn es Lust hat. Man kann es über den „udevd“ auch wieder in eth0 ummünzen, wenn es einem den Aufwand Wert ist.

Für uns ist es das wichtigste Interface, denn es stellt unsere Netzwerkkarte dar. Der „State UP“ meint, daß es „up and running“ ist, also eingeschaltet und funktioniert und das ist genau was wir wollen.

CHECK: Karte vorhanden und aktiv.

Schauen wir uns das Interface genauer an. Dazu brauchen wir „ifconfig“ , es geht auch mit „ip“, aber warum sich quälen 😉

$ ifconfig enp2s0
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.123.234  netmask 255.255.0.0  broadcast 192.168.255.255
        inet6 fe80::4315:7eff:ee23:0b15  prefixlen 64  scopeid 0x20<link>
        ether 40:66:3e:21:1a:76 txqueuelen 1000  (Ethernet)
        RX packets 368476  bytes 109880955 (104.7 MiB)
        RX errors 0  dropped 3  overruns 0  frame 0
        TX packets 499987  bytes 598240703 (570.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Dieser Anzeige können wir entnehmen, daß unsere IP 192.168.123.234 ist, unsere Netzwerkmaske 255.255.0.0 und wie unsere MAC Adresse lautet: 40:66:3e:21:1a:76 . Das ist konkret nicht wichtig, aber wenn Ihr mal Probleme habt einen Rechner im LAN zu erreichen, ist die MACADRESSE der Netzwerkkarte extrem wichtig.

Wie man auch sehen kann, gibt es eine IPv6 Adresse, aber die ist quasi fiktiv, weil nicht es gar nicht konfiguriert ist.

CHECK: Wir haben eine IP Adresse auf der Netzwerkkarte und eine korrekt Netzwerkmaske!

Nun prüfen wir noch, ob die Netzwerkkarte überhaupt irgendwo angeschlossen ist ( Klar geht das von Innen) :

$ ethtool enp2s0 | grep -i detected
    Link detected: yes

Stände da jetzt „no“ , wäre kein Kabel drin, bzw. die Gegenstelle z.B. Router / Switch usw. nicht eingeschaltet.

CHECK: Link detected! Die  Karte ist mit einer anderen Netzwerkkarte über ein Kabel verbunden!

Ping & Pong ?

Mit dem Befehl Ping kann man alle Rechner im LAN „anpingen“, also anstupsen,  die im gleichen Netzwerksegment liegen. Dies meint, daß Sie in der Netzwerkmaske unserer Netzwerkkarte ihre IP Adresse haben UND selbst eine Netzwerkmaske haben, die unsere IP einschliesst. Wie man das berechnet, könnt Ihr im Netz nachlesen.

Für das Beispiel oben war die Netzwerkmaske 255.255.0.0 was meint : mußgenaustimmen.mußgenaustimmen.egal.egal , womit 192.168.0.0 -> 192.168.255.255 abgedeckt sind. Also pinge ich jetzt mal meinen Router an:

$ ping 192.168.123.1
PING 192.168.123.1 (192.168.123.1) 56(84) bytes of data.
64 bytes from 192.168.123.1: icmp_seq=1 ttl=64 time=0.428 ms
64 bytes from 192.168.123.1: icmp_seq=2 ttl=64 time=0.332 ms
64 bytes from 192.168.123.1: icmp_seq=3 ttl=64 time=0.333 ms
64 bytes from 192.168.123.1: icmp_seq=4 ttl=64 time=0.324 ms
64 bytes from 192.168.123.1: icmp_seq=5 ttl=64 time=0.354 ms
64 bytes from 192.168.123.1: icmp_seq=6 ttl=64 time=0.406 ms

Wunderbar, er antwortet UND es kommt nicht zu Aussetzern bei der Sequenznummer, das würde nämlich ein Durchsatzproblem im Netz anzeigen. Die Zeitangabe bezeichnet die Laufzeit des Pakets das wir losgeschickt haben, bis wir eine Antwort darauf hatten. Es gilt: Je kleiner, je besser.  Wenn Zeiten vereinzelt nach oben Ausreisser haben, ist was im Netz los und der Durchsatz stimmt nicht. Das könnte dann z.b. „fremde“ Datenströme im LAN anzeigen oder einen ausgelasteten Prozesser ( auf der Gegenseite ) anzeigen. Da gibt es leider einiges an Möglichkeiten.

CHECK: Der Router ist erreichbar!

Traceroute

Wir gehen mal davon aus, daß der Router ok ist und die DSL Strecke auch. Jetzt will man aber z.b. testen, ob es auf der Strecke zum Lieblingsserver ein Problem gibt. Da ist Traceroute bzw. ein Derivat davon namens MTR Eurer Freund.

                             Packets               Pings
 Host                      Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.123.1           0.0%     3   16.0  10.8   0.4  16.0   9.0
    217.0.119.85
 2. 217.0.119.85            0.0%     3   15.7  15.8  15.7  16.1   0.0
 3. 217.0.65.250            0.0%     3   16.0  15.8  15.6  16.0   0.0
 4. 217.239.45.194          0.0%     2   21.5  21.7  21.5  21.9   0.0
 5. cr01.h.as24679.net      0.0%     2   33.0  33.0  33.0  33.0   0.0
 6. ar13.h.as24679.net      0.0%     2   48.1  40.6  33.0  48.1  10.7
 7. s120.resellerdesktop.de 0.0%     2   33.2  33.2  33.2  33.3   0.0

Die Loss Spalte zeigt hier 0.0% für „Alles OK “ an. Steht hier mehr als nur 0.0 , deutet das auf Probleme beim Datentransport von Paketen an dieser Stelle im Netz hin.

Hinweis: Jeder Rechner auf dieser Welt hat einen eigenen Weg zum Ziel. Wie Bergbäche zu Flüssen werden, so werden auch einzelne Benutzer eines DSL Anbieter vom Bach zum Fluß nur um am Ende in einen großen Teich zu fliessen. Deswegen kann es für den einen PC zu einem Problem kommen, wo sein Nachbar oder irgendwer anders kein Problem hat einen Server zu erreichen. Das ist NORMAL! Glaubt einem beim Telefonsupport zwar keiner, ist aber trotzdem so 🙂

CHECK: Der Server ist erreichbar ohne Paketverluste!

Wenn der Euch jetzt für Webanfragen nicht antwortet, will oder kann er vielleicht grade nicht . Jedenfalls liegt das nicht mehr in Eurer Hand.

Datenströme erfassen mit TCPDump

Ab hier müssen wir wieder ROOT User auf unserem Rechner werden, sonst klappt das nicht.

TCPDump kann Datenströme von der Netzwerkkarte abgreifen und anzeigen bzw. auf die Platte schreiben. Diverse Filter erlauben es, nur das zu sehen, was einen Interessiert. Hier im Beispiel den Aufruf von meinem Blog:

# tcpdump -n  host s120.resellerdesktop.de and port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:37:22.112794 IP 192.168.123.234.40802 > 83.246.80.133.http: Flags [S], seq 325157599, win 29200, options [mss 1460,sackOK,TS val 18499715 ecr 0,nop,wscale 7], length 0
14:37:22.146706 IP 83.246.80.133.http > 192.168.123.234.40802: Flags [S.], seq 2632340454, ack 325157600, win 28960, options [mss 1452,sackOK,TS val 3762553727 ecr 18499715,nop,wscale 7], length 0
14:37:22.146779 IP 192.168.123.234.40802 > 83.246.80.133.http: Flags [.], ack 1, win 229, options [nop,nop,TS val 18499749 ecr 3762553727], length 0
14:37:22.146854 IP 192.168.123.234.40802 > 83.246.80.133.http: Flags [P.], seq 1:97, ack 1, win 229, options [nop,nop,TS val 18499749 ecr 3762553727], length 96: HTTP: GET / HTTP/1.1
14:37:22.180314 IP 83.246.80.133.http > 192.168.123.234.40802: Flags [.], ack 97, win 227, options [nop,nop,TS val 3762553761 ecr 18499749], length 0
14:37:22.181118 IP 83.246.80.133.http > 192.168.123.234.40802: Flags [P.], seq 1:456, ack 97, win 227, options [nop,nop,TS val 3762553762 ecr 18499749], length 455: HTTP: HTTP/1.1 302 Found
14:37:22.181170 IP 192.168.123.234.40802 > 83.246.80.133.http: Flags [.], ack 456, win 237, options [nop,nop,TS val 18499783 ecr 3762553762], length 0
14:37:22.181429 IP 192.168.123.234.40802 > 83.246.80.133.http: Flags [F.], seq 97, ack 456, win 237, options [nop,nop,TS val 18499784 ecr 3762553762], length 0
14:37:22.214648 IP 83.246.80.133.http > 192.168.123.234.40802: Flags [F.], seq 456, ack 98, win 227, options [nop,nop,TS val 3762553796 ecr 18499784], length 0
14:37:22.214705 IP 192.168.123.234.40802 > 83.246.80.133.http: Flags [.], ack 457, win 237, options [nop,nop,TS val 18499817 ecr 3762553796], length 0

Die Uhrzeit mit Microsekunden dürfte noch erkennbar sein, dann folgt das Protokoll „IP“ (ja, gibt noch mehr) , es folgt die QuellIP mit Port und das Ziel mit Port und was danach kommt, sprengt den Rahmen des Artikels, aber so sieht eine Datenübertragung wirklich aus 🙂

Wenn wir jetzt mal sehen wollen, was da übertragen wird, schalten wir mit „-X“ den Inhalt ein:

# tcpdump -n -X  host s120.resellerdesktop.de and port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:44:15.222244 IP 192.168.123.234.40968 > 83.246.80.133.http: Flags [S], seq 2086838668, win 29200, options [mss 1460,sackOK,TS val 18912825 ecr 0,nop,wscale 7], length 0
    0x0000:  4500 003c 37b5 4000 4006 9dc1 c0a8 79EA  E..<7.@.@......"
    0x0010:  53f6 5085 a008 0050 7c62 a18c 0000 0000  S.P....P|b......
    0x0020:  a002 7210 1b09 0000 0204 05b4 0402 080a  ..r.............
    0x0030:  0120 9639 0000 0000 0103 0307            ...9........
14:44:15.256813 IP 83.246.80.133.http > 192.168.123.234.40968: Flags [S.], seq 4282242486, ack 2086838669, win 28960, options [mss 1452,sackOK,TS val 3762966832 ecr 18912825,nop,wscale 7], length 0
    0x0000:  4500 003c 0000 4000 3a06 db76 53f6 5085  E..<..@.:..vS.P.
    0x0010:  c0a8 79EA 0050 a008 ff3d d5b6 7c62 a18d  ...".P...=..|b..
    0x0020:  a012 7120 1580 0000 0204 05ac 0402 080a  ..q.............
    0x0030:  e04a 5130 0120 9639 0103 0307            .JQ0...9....
14:44:15.256889 IP 192.168.123.234.40968 > 83.246.80.133.http: Flags [.], ack 1, win 229, options [nop,nop,TS val 18912859 ecr 3762966832], length 0
    0x0000:  4500 0034 37b6 4000 4006 9dc8 c0a8 79EA  E..47.@.@......"
    0x0010:  53f6 5085 a008 0050 7c62 a18d ff3d d5b7  S.P....P|b...=..
    0x0020:  8010 00e5 b45d 0000 0101 080a 0120 965b  .....].........[
    0x0030:  e04a 5130                                .JQ0
14:44:15.256968 IP 192.168.123.234.40968 > 83.246.80.133.http: Flags [P.], seq 1:97, ack 1, win 229, options [nop,nop,TS val 18912859 ecr 3762966832], length 96: HTTP: GET / HTTP/1.1
    0x0000:  4500 0094 37b7 4000 4006 9d67 c0a8 79EA  E...7.@.@..g..."
    0x0010:  53f6 5085 a008 0050 7c62 a18d ff3d d5b7  S.P....P|b...=..
    0x0020:  8018 00e5 48d2 0000 0101 080a 0120 965b  ....H..........[
    0x0030:  e04a 5130 4745 5420 2f20 4854 5450 2f31  .JQ0GET./.HTTP/1
    0x0040:  2e31 0d0a 486f 7374 3a20 6d61 7269 7573  .1..Host:.marius
    0x0050:  2e62 6c6f 6767 742d 696e 2d62 7261 756e  .bloggt-in-braun
    0x0060:  7363 6877 6569 672e 6465 0d0a 5573 6572  schweig.de..User
    0x0070:  2d41 6765 6e74 3a20 6375 726c 2f37 2e34  -Agent:.curl/7.4
    0x0080:  332e 300d 0a41 6363 6570 743a 202a 2f2a  3.0..Accept:.*/*
    0x0090:  0d0a 0d0a                                ....
14:44:15.290765 IP 83.246.80.133.http > 192.168.123.234.40968: Flags [.], ack 97, win 227, options [nop,nop,TS val 3762966867 ecr 18912859], length 0
    0x0000:  4500 0034 84e4 4000 3a06 569a 53f6 5085  E..4..@.:.V.S.P.
    0x0010:  c0a8 79EA 0050 a008 ff3d d5b7 7c62 a1ed  ...".P...=..|b..
    0x0020:  8010 00e3 b3dc 0000 0101 080a e04a 5153  .............JQS
    0x0030:  0120 965b                                ...[
14:44:15.292457 IP 83.246.80.133.http > 192.168.123.234.40968: Flags [P.], seq 1:456, ack 97, win 227, options [nop,nop,TS val 3762966868 ecr 18912859], length 455: HTTP: HTTP/1.1 302 Found
    0x0000:  4500 01fb 84e5 4000 3a06 54d2 53f6 5085  E.....@.:.T.S.P.
    0x0010:  c0a8 79EA 0050 a008 ff3d d5b7 7c62 a1ed  ...".P...=..|b..
    0x0020:  8018 00e3 8e37 0000 0101 080a e04a 5154  .....7.......JQT
    0x0030:  0120 965b 4854 5450 2f31 2e31 2033 3032  ...[HTTP/1.1.302
    0x0040:  2046 6f75 6e64 0d0a 4461 7465 3a20 5765  .Found..Date:.We
    0x0050:  642c 2032 3120 5365 7020 3230 3136 2031  d,.21.Sep.2016.1
    0x0060:  323a 3434 3a31 3420 474d 540d 0a53 6572  2:44:14.GMT..Ser
    0x0070:  7665 723a 2041 7061 6368 652f 322e 342e  ver:.Apache/2.4.
    0x0080:  3138 2028 4665 646f 7261 2920 4f70 656e  18.(Fedora).Open
    0x0090:  5353 4c2f 312e 302e 316b 2d66 6970 730d  SSL/1.0.1k-fips.
    0x00a0:  0a4c 6f63 6174 696f 6e3a 2068 7474 7073  .Location:.https
    0x00b0:  3a2f 2f6d 6172 6975 732e 626c 6f67 6774  ://marius.bloggt
    0x00c0:  2d69 6e2d 6272 6175 6e73 6368 7765 6967  -in-braunschweig
    0x00d0:  2e64 652f 0d0a 436f 6e74 656e 742d 4c65  .de/..Content-Le
    0x00e0:  6e67 7468 3a20 3232 350d 0a43 6f6e 7465  ngth:.225..Conte
    0x00f0:  6e74 2d54 7970 653a 2074 6578 742f 6874  nt-Type:.text/ht
    0x0100:  6d6c 3b20 6368 6172 7365 743d 6973 6f2d  ml;.charset=iso-
    0x0110:  3838 3539 2d31 0d0a 0d0a 3c21 444f 4354  8859-1....<!DOCT
    0x0120:  5950 4520 4854 4d4c 2050 5542 4c49 4320  YPE.HTML.PUBLIC.
    0x0130:  222d 2f2f 4945 5446 2f2f 4454 4420 4854  "-//IETF//DTD.HT
    0x0140:  4d4c 2032 2e30 2f2f 454e 223e 0a3c 6874  ML.2.0//EN">.<ht
    0x0150:  6d6c 3e3c 6865 6164 3e0a 3c74 6974 6c65  ml><head>.<title
    0x0160:  3e33 3032 2046 6f75 6e64 3c2f 7469 746c  >302.Found</titl
    0x0170:  653e 0a3c 2f68 6561 643e 3c62 6f64 793e  e>.</head><body>
    0x0180:  0a3c 6831 3e46 6f75 6e64 3c2f 6831 3e0a  .<h1>Found</h1>.
    0x0190:  3c70 3e54 6865 2064 6f63 756d 656e 7420  <p>The.document.
    0x01a0:  6861 7320 6d6f 7665 6420 3c61 2068 7265  has.moved.<a.hre
    0x01b0:  663d 2268 7474 7073 3a2f 2f6d 6172 6975  f="https://mariu
    0x01c0:  732e 626c 6f67 6774 2d69 6e2d 6272 6175  s.bloggt-in-brau
    0x01d0:  6e73 6368 7765 6967 2e64 652f 223e 6865  nschweig.de/">he
    0x01e0:  7265 3c2f 613e 2e3c 2f70 3e0a 3c2f 626f  re</a>.</p>.</bo
    0x01f0:  6479 3e3c 2f68 746d 6c3e 0a              dy></html>.
14:44:15.292474 IP 192.168.123.234.40968 > 83.246.80.133.http: Flags [.], ack 456, win 237, options [nop,nop,TS val 18912895 ecr 3762966868], length 0
    0x0000:  4500 0034 37b8 4000 4006 9dc6 c0a8 79EA  E..47.@.@......"
    0x0010:  53f6 5085 a008 0050 7c62 a1ed ff3d d77e  S.P....P|b...=.~
    0x0020:  8010 00ed b1e6 0000 0101 080a 0120 967f  ................
    0x0030:  e04a 5154                                .JQT
14:44:15.292764 IP 192.168.123.234.40968 > 83.246.80.133.http: Flags [F.], seq 97, ack 456, win 237, options [nop,nop,TS val 18912895 ecr 3762966868], length 0
    0x0000:  4500 0034 37b9 4000 4006 9dc5 c0a8 79EA  E..47.@.@......"
    0x0010:  53f6 5085 a008 0050 7c62 a1ed ff3d d77e  S.P....P|b...=.~
    0x0020:  8011 00ed b1e5 0000 0101 080a 0120 967f  ................
    0x0030:  e04a 5154                                .JQT
14:44:15.326737 IP 83.246.80.133.http > 192.168.123.234.40968: Flags [F.], seq 456, ack 98, win 227, options [nop,nop,TS val 3762966903 ecr 18912895], length 0
    0x0000:  4500 0034 84e6 4000 3a06 5698 53f6 5085  E..4..@.:.V.S.P.
    0x0010:  c0a8 79EA 0050 a008 ff3d d77e 7c62 a1ee  ...".P...=.~|b..
    0x0020:  8011 00e3 b1cb 0000 0101 080a e04a 5177  .............JQw
    0x0030:  0120 967f                                ....
14:44:15.326802 IP 192.168.123.234.40968 > 83.246.80.133.http: Flags [.], ack 457, win 237, options [nop,nop,TS val 18912929 ecr 3762966903], length 0
    0x0000:  4500 0034 37ba 4000 4006 9dc4 c0a8 79EA  E..47.@.@......"
    0x0010:  53f6 5085 a008 0050 7c62 a1ee ff3d d77f  S.P....P|b...=..
    0x0020:  8010 00ed b19f 0000 0101 080a 0120 96a1  ................
    0x0030:  e04a 5177                                .JQw

Alles was man nicht in Klartext lesen kann, sind meistens Optionen innerhalb des IP Datenpakets. Im obigen Fall handelt es sich eindeutig um TCP Datenverkehr. Wer sich dafür interessiert: hier gibt es mehr

Wie man in dem Dump oben sehen kann, wird HTTP in Klartext übermittelt. Damit keine geheimen Daten verloren gehen, wurde HTTPS erfunden. Wer sich die Mühe macht und den Datensalat oben zusammen setzt, wird das hier sehen:

HTTP/1.1 302 Found
Date: Wed, 21 Sep 2016 12:44:14 GMT
Server: Apache/2.4.18 (Fedora) OpenSSL/1.0.1k-fips
Location: https://marius.bloggt-in-braunschweig.de/
Content-Length: 225
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://marius.bloggt-in-braunschweig.de/">here</a>.</p>
</body></html>

Genau, daß ist einfach die Umleitung von HTTP auf HTTPS.

TCPDump kommt immer dann zum Einsatz, wenn man sehen will, was wirklich über die Leitung gegangen ist. Der Browser behauptet zwar, daß X=U ist, aber sagte das auch der Server so ? 😀

Zurück zu den lokalen Tools: iptraf-ng

IPtraf ist eine wahre Schatzkiste an unterschiedlichen Funktionen. Es zeigt live an, „wer mit wem redet“, Statistiken über die Häufigkeit von Paketen und wer vielviel Daten transportiert hat. Alles zu erklären sprengt genau wie bei TCPDump den Rahmen. Da es mit einem grafischen Interface in der Konsole daher kommt, ist es extrem leicht zu bedienen.

Daher einfach installiere und ausprobieren.

bildschirmfoto-vom-2016-09-21-15-02-44Durchsatzstatistik mit : ifstat

Wer nur eine kleine Statistik braucht, der kann einfach ifstat fragen :

# ifstat
ifstat: history is stale, ignoring it.
#2212.1804289383 sampling_interval=2 time_const=60
Interface        RX Pkts/Rate    TX Pkts/Rate    RX Data/Rate    TX Data/Rate  
                 RX Errs/Drop    TX Errs/Drop    RX Over/Rate    TX Coll/Rate  
lo                   276 0           276 0          8674 0          8674 0      
                       0 0             0 0             0 0             0 0      
enp2s0            392203 2        521196 1       121730K 449     601935K 244    
                       0 3             0 0             0 0             0 0      
virbr0                 0 0             0 0             0 0             0 0      
                       0 0             0 0             0 0             0 0

Statistiken mit : vnstat

Auch mit vnstat kann man Statistiken zu seinem Interface abrufen. Allerdings müssen die erst gesammelt werden, was bedeutet, daß man zwei Aufrüfe benutzen muß:

# vnstat -u -i enp2s0
# vnstat -i enp2s0
Database updated: Wed Sep 21 17:01:50 2016

   enp2s0 since 09/21/16

          rx:  1.35 MiB      tx:  1.20 MiB      total:  2.55 MiB

   monthly
                     rx      | Statistiken mit : vnstat    tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '16      1.35 MiB |    1.20 MiB |    2.55 MiB |    0.01 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         1 MiB |       1 MiB |       2 MiB |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today      1.35 MiB |    1.20 MiB |    2.55 MiB |    0.34 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         1 MiB |       1 MiB |       2 MiB |

Dafür ist das keine Momentaufnahme, sondern ein wohl definierter Zeitraum. Damit lassen sich also Feststellungen machen, wieviel Traffic eine Anwendung verursacht hat. Natürlich nur, wenn nichts anderes stört.

Womit wir beim Schluß des Artikels wären und der Frage, ob da noch mehr existiert ?

Ja, das tut es. Will man z.b. sein Heimatnetzwerk verlassen, muß man dem Rechner gesagt haben, welcher andere Computer dem eigenen PC die Pakete abnehmen soll, um sie ins Internet weiter zu leiten. Dies geschieht über die Route, welche man mit dem Befehl route sehen und manipulieren kann.  Da die meisten von Euch nicht in der Konsole arbeiten werden, sondern dem Gnome/Cinnamon im Netzwerkmanager gesagt haben, was er tun soll, schauen wir uns nur schnell die Ausgabe an und verzichten heute auf die Manipulation:

# route -n
Kernel IP Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.121.1   0.0.0.0         UG    100    0        0 enp2s0
192.168.121.0   0.0.0.0         255.255.0.0     U     100    0        0 enp2s0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

Was man sieht sind alle verfügabren Netze und das ist ein Netz mehr als wir erwarten würden. Das Netzwerk 192.168.122.0, was man aufgrund der Netzmaske als ein Class-C Netz /24 identifizieren kann, wird von der Virtualisierung benutzt. Das wären z.B. VirtualBox oder das schon bei Fedora vorhandene Boxen Tool.

Das andere 192.168.121.0 Netzwerk, ist das normale LAN Netz (meines PCs) Bei Euch wird das anders aussehen.

Das Ziel 0.0.0.0 ist „Der Rest der Welt“ und wird vom Rechner mit der IP 192.168.121.1  „geroutet“. Den nennt man deswegen auch Gateway, nämlich Gateway in ein anderes Netzwerk. Man kann in einem LAN mehrere Gateways haben, man muß als nur in dieser Routentabelle dafür sorgen, daß jedes Zielnetzwerk mit seinem Gateway eingetragen ist. Dazu gehört auch, daß das Gateway mit einem Bein (und korrekter IP und Netzwerkmaske ) in eigenen LAN steht.

Damit soll es für heute genug sein.

Update um 9:09 Uhr :

Auch dieser Beitrag wurde von WordPress entgegen des Planungstermins, nicht angezeigt.

Richard Stallman: „Laß mich Dich anonym bezahlen“

In einem Interview mit dem Guardian aus Großbritannien, hat Dr. Richard Stallmann, für ein anonymes Bezahlsystem geworben, das unter der Leitung von GNU entstehen soll. Statt Ihre Kunden zu Überwachen und mit Werbepopups zu nerven, sollten die Zeitungsverleger, denn um die geht es im Artikel, ihre Kunden einfach anonym bezahlen lassen, wenn sie einen Artikel lesen möchten.

Das gewünschte System heißt GNU Taler.{komplett falsche Infos wurden entfernt}

Dr. Stallmann geht soweit, daß das Bezahlsystem wirklich so anonym ist, daß man als Verleger auch  nicht tracken könnte, wer welchen Artikel gelesen hat. Bleibt nur die Frage, wer wacht über diesen PayAnbieter ?

 

mFUND oder wo unsere Steuern landen

Das Bundeswirtschaftsministerium fördert über prototypefund.de mit 1,2 Millionen Euro Open Source Software, was das Bundesministerium für Verkehr und digitale Infrastruktur veranlaßte mal wieder die digitalen Neulandgeräte, sprich Smartphones, zu fördern:

http://www.bmvi.de/DE/DigitalesUndRaumentwicklung/DigitaleAgenda/Modernitaetsfonds/modernitaetsfonds_node.html

Am Ende soll Open Source Software dabei rauskommen, die bei GitHUB u.ä. hinterlegt sein muß. Da hätte man auch gleich „Freie Software“ fordern können, hätte man den Unterschied dazu gewußt. „Förderungswürdig“  wird beim MFUND übrigens so angegeben:

„Mit dem mFUND unterstützt das BMVI die Entwicklung digitaler Geschäftsideen, die auf Mobilitäts-, Geo- und Wetterdaten basieren. Dazu zählen z.B. neue Navigationsdienste, innovative Sharing-Plattformen, intelligente Reiseplaner oder hochpräzise Wetter-Apps.“

Wir haben Livewetterkarten mit Livefeed vom Satelliten, wozu brauchen wir noch mehr unnütze Wetterapps, die sich zudem alle widersprechen ? Das Wetter ist, wie es ist, da wo man halt grade ist. Verlassen kann man sich auf keine Wetterkarte, auch nicht bei Kachelmann oder dem hauseigenen Wetterfrosch. Nicht einmal aufs Wetter kann man sich verlassen, wie ein Test neulich bei einer Geburtstagsfeier im Freien ausdrücklich gezeigt hat: Eine Gewitterfront, die zielstrebig auf uns zu kam, meinte dann doch, daß die 70 km bis zu uns, für welche die Front knapp eine Stunde gebraucht hätte, den ganzen Aufwand nicht wert war und schwenkte dann einfach richtig England um. Dort wird sich die Schlechtwetterfront dann am Ende auch viel wohler gefühlt haben, mit all den anderen Schlechtwetterwolken, die üblicherweise in London ihr EU Hauptquartier haben.

Aber zurück zum mFUND: Wieviel Navigationsdienste glaubt man im BMVI eigentlich, braucht ein Autofahrer ? Könnte es sein, daß die Strecke freier wird, wenn alle anderen mit einer anderen App im Stau stehen ?  Oder nehmen wir  Filesharing, wie oft soll ich die eine Datei noch teilen ? Vor lauter Teilenbuttons kann man einige Webseiten schon gar nicht mehr als mit Inhalt versehen erkennen! Sollen wir jetzt auch noch eine Sharingapp bauen, welche die geteile Datei auf dem Handy des Freundes dann sofort/wahlweise/nie/irgendwann/nächsten Dienstag löscht ? also Snapfile erfinden ?  Oder war hier vielmehr gemeint, daß man sich selbst shared, damit die ganzen Apps was zutun haben ?

Fest steht, daß hier Geld zum Fenster hinausgeworfen wird, um Projekte zu finanzieren, die ohnehin keine Chance haben, weil die amerikanischen Startups die Idee schneller aufnehmen und umsetzen können, als deutsche Beamte den Förderantrag bearbeiten werden. Vergeßt es einfach, Eure Idee ist schon weg, bevor das erste Geld kommt !

Hat sich mal jemand die Frage gestellt, was mit der Volkwirtschaft passiert, wenn statt einer app, hunderte apps den gleichen Job machen? Nein, dann beantworte ich das mal: Einem Rudel von Investoren wird Geld dafür abgenommen, eine Reinkarnation eines bereits erfolgreichen Unternehmens zu bauen. Sollte es dem neuen Nachbau gelingen signifikante Anteile am Markt zu erobern, könnte die Strategie aufgehen und die neue Firma wird von der Alten aufgekauft. Wenn jetzt aber hundert neue Unternehmen die wenigen Marktanteile unter sich aufteilen, führt das zu einer Menge verlorenem Kapital und einer Reihe arbeitsloser Programmierer, weil die paar Kunden dem Marktführer egal sind und er die Firmen nicht aufkauft.

Volkswirtschaftlich betrachtet, ist das deswegen Schwachsinn, weil es am Ende nur Verlierer gibt. Die Firmen, die den neuen Firmen die Webservices zur Verfügung gestellt haben, müssen ihrerseits den wegbrechenden Kundenstamm kompensieren und werfen die eigens eingestellten Leute auch wieder raus. Die Kapitalgeber verlieren sowieso alles und die Entwickler in den neuen, aber alsbald liquidierten Firmen, wurden davon abgehalten mit Ihrer kostbaren Zeit etwas neues zu erschaffen, das im Gegensatz zur Reinkarnation sinnvoll ist und auf Dauer bestehen bleibt. Vielleicht die Vermieter der Lofts der kurzeitig reichen Startupgründer finden das toll, weil sie so die Mietpreisbremsen umgehen können, denn gewerbliche Vermietungen fallen ja ja nicht drunter.

Liebes BMVI, fördert doch mal etwas, was wir wirklich dringend brauchen:

Verständnis für freie Software
Den Unterschied zwischen Freier Software und Open-Source erklären
Sichere Smartphonehardware
Sichere Smartphoneupdates
Sichere Smartphonebetriebssysteme ( z.b. GNU Linux aufm Handy für Alle zur Pflicht machen)
Sichere Steuersoftware für AUTOS
Echten Datenschutz für Autofahrer
Schutz vor unsinnigen digitalen Zwangsanwendungen für Autos
Schutz vor unsinnigen EHealth Zwangsanwendungen und Datensammlungen
Schutz vor unsinnigen EPersoAusweisen und deren ebenfalls unsicher umgesetzten Zwangsanwendungen.
Schutz vor VPN/WLAN Anbietern, die Erpressern und anderen Kriminellen zur Hand gehen.
Eine Finanz-Elster die auch sauber updated !

oder am besten überhaupt mal die Pflicht der Anbieter für Ihr Produkt 2 Jahre nach Verkaufsdatum noch Updates anzubieten. Dafür könnte man ja mal Kohle rauswerfen. In dem Sinne, einen schönen Wochenstart.