Tips en Trucs 2016

Terminal netwerk monitors

Het netwerk controleren is een kritische IT functie voor iedereen. De reden om het netwerk door te lichten kan verschillen. Het kan deel uitmaken van een toekomstige visie op het netwerkgebruik, beveiliging, prestatieproblemen, netwerkgebruik, enz. Afhankelijk van het doel zijn er verschillende manieren om het netwerk te onderzoeken.

Hoewel er uitgebreide, gespecialiseerde systemen bestaan om een netwerk 24/7/365 in de gaten te houden, kan je in bepaalde situaties al veel te weten komen met behulp van enkele terminal opdrachten.

Packet-Level Sniffing

Deze categorie hulpmiddelen vangen individuele netwerkpakketten, ontleden de inhoud en geven de gedecodeerde inhoud of statistieken weer. Deze opdrachten controleren het netwerk op het laagste niveau en kunnen daardoor zeer gedetailleerde informatie weergeven

IPTraf

dany@laptop:~> sudo zypper install iptraf
root's password:
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
'iptraf' is niet gevonden in de pakketnamen. Proberen in eigenschappen.
Afhankelijkheden tussen pakketten oplossen...

Het volgende NIEUWE pakket zal worden geïnstalleerd:
  iptraf-ng

1 nieuw te installeren pakket.
Totale downloadgrootte: 76,6 KiB. Reeds in de cache: 0 B. Na de operatie zal aanvullend 180,3 KiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
Ophalen: iptraf-ng-1.1.4-11.2.x86_64.rpm ....................................................................................[gereed]
Controleren op conflicten tussen bestanden: .................................................................................[gereed]
(1/1) Installeert: iptraf-ng-1.1.4-11.2 .....................................................................................[gereed]
dany@laptop:~> sudo /usr/sbin/iptraf

IPTraf toont netwerkstatistieken over pakketten, verbindingen, netwerkkaarten en real time protocol pakket/byte tellers. De netwerkpakketten kunnen gefilterd worden op protocol. Je bedient IPTraf via een eenvoudig menusysteem.
IPTraf

ngrep

Ngrep levert de grep functie voor netwerkpakketten. Het vangt de netwerkpakketten en toont enkel degene die voldoen aan een reguliere of hexadecimale expressie. Dit is handig bij het opsporen en opslaan van abnormaal netwerkverkeer of bij het opsporen van specifieke informatiepatronen.

dany@laptop:~> sudo zypper install ngrep
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

Het volgende NIEUWE pakket zal worden geïnstalleerd:
  ngrep

1 nieuw te installeren pakket.
Totale downloadgrootte: 26,1 KiB. Reeds in de cache: 0 B. Na de operatie zal
aanvullend 49,5 KiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
pakket ngrep-1.45-8.2.x86_64 wordt opgehaald
                                           (1/1),  26,1 KiB ( 49,5 KiB uitgepakt)
Ophalen: ngrep-1.45-8.2.x86_64.rpm ......................................[gereed]
Controleren op conflicten tussen bestanden: .............................[gereed]
(1/1) Installeert: ngrep-1.45-8.2 .......................................[gereed]
dany@laptop:~> sudo ngrep port 22
interface: eth0 (192.168.1.0/255.255.255.0)
filter: (ip) and ( port 22 )
#
T 192.168.1.4:22 -> 192.168.1.3:45266 [AP]
  ...@mm3V.'..*L..{...*.SXZ....Ht..X6.+[.Sg.f...\..4/.......d.......P..xj..R..
  X.......                                                                    
#
T 192.168.1.4:22 -> 192.168.1.3:45266 [AP]
  ...0!k.)...?...qZ.l.Y......o&.i.v..X....jF..v..k.......r;......( 4..        
#
T 192.168.1.3:45266 -> 192.168.1.4:22 [A]
  ..                                                                          
#
T 192.168.1.3:45266 -> 192.168.1.4:22 [A]
  y.                                                                          
#
T 192.168.1.4:22 -> 192.168.1.3:45266 [AP]
  .......%.X......3.x..@.;d.O&/.'$\)}...$...8.G..H.b.6.'{. ..k......j.._.6D...
  3u.L.t].\.\........$...be.. d.]...!....Zh.NnA.{o..$.....D.6....<...L...'n..4
  .'...E.....*?/..|.k.Qj.2.[..8...t.a^..e....J.ak.N..r:...3-\..RU....,O5.g.3g6
  .....R.uS.U.a...                                                            
#
T 192.168.1.4:22 -> 192.168.1.3:45266 [AP]
  .......<....W.D..D.@&&..........)-....|odr.......e.3.!p...wO..;..1?.....\D.t
  .`r.+.'...F..0.R.....I.....B.........k....;@-...}<...+..sY...g8.,..@..9..w*.
  |eO;.Q..y.-.....-?/.wg...^W..Z.J....i.Z....V..M. X`=.<.|v...MZ......Q...4...
  u..R........^...o...p....N|..A>.P.I+..0*Z.....h...e.(a.......}...r.;_2...9..
  .yZ..g_M.N.e.{..F.H....hev...+".....U...v.r^..&..V..U...~.;...?.O. G.H.7.D(.
  .T.......Y....%26..f..q.P"..........@Rm...:..[..g......SV...gZ..7...M:....0.
#
T 192.168.1.3:45266 -> 192.168.1.4:22 [A]
  -l                                                                          
#
T 192.168.1.3:45266 -> 192.168.1.4:22 [A]
  d.                                                                          
^Cexit
19 received, 0 dropped

tcpdump

Tcpdump vangt netwerkpakketten en kan deze met behulp van expressies filteren, ontleden en opslaan voor verdere analyse. Tcpdump wordt veel gebruikt bij het opsporen van netwerkproblemen, het debuggen van netwerkprogramma's en beveiliging.

dany@laptop:~> sudo tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:13:22.284271 IP 192.168.1.4.ssh > 192.168.1.3.45266: Flags [P.], seq 369814126:369814322, ack 198136379, win 340, options [nop,nop,TS val 903542 ecr 2399436], length 196
15:13:22.284742 IP 192.168.1.3.45266 > 192.168.1.4.ssh: Flags [.], ack 196, win 22007, options [nop,nop,TS val 2399481 ecr 903542], length 0
15:13:23.267531 IP 192.168.1.4.47372 > 192.168.1.1.domain: 39121+ PTR? 3.1.168.192.in-addr.arpa. (42)
15:13:23.395936 IP 192.168.1.1.domain > 192.168.1.4.47372: 39121 NXDomain 0/1/0 (101)
15:13:23.396528 IP 192.168.1.4.52035 > 192.168.1.1.domain: 22131+ PTR? 4.1.168.192.in-addr.arpa. (42)
15:13:23.515410 IP 192.168.1.1.domain > 192.168.1.4.52035: 22131 NXDomain 0/1/0 (101)
15:13:23.515750 IP 192.168.1.4.ssh > 192.168.1.3.45266: Flags [P.], seq 196:552, ack 1, win 340, options [nop,nop,TS val 903850 ecr 2399481], length 356
15:13:23.516327 IP 192.168.1.3.45266 > 192.168.1.4.ssh: Flags [.], ack 552, win 22007, options [nop,nop,TS val 2399789 ecr 903850], length 0
15:13:24.267124 IP 192.168.1.4.39388 > 192.168.1.1.domain: 152+ PTR? 1.1.168.192.in-addr.arpa. (42)
15:13:24.380865 IP 192.168.1.1.domain > 192.168.1.4.39388: 152 NXDomain 0/1/0 (101)
15:13:24.381169 IP 192.168.1.4.ssh > 192.168.1.3.45266: Flags [P.], seq 552:1276, ack 1, win 340, options [nop,nop,TS val 904066 ecr 2399789], length 724
15:13:24.381731 IP 192.168.1.3.45266 > 192.168.1.4.ssh: Flags [.], ack 1276, win 22007, options [nop,nop,TS val 2400006 ecr 904066], length 0
^C
12 packets captured
16 packets received by filter
0 packets dropped by kernel

Flow-/Process-/Interface monitoring

In deze categorie wordt netwerkverkeer ingedeeld naar invoer/uitvoer stromen, geassocieerde processen of hardware. Deze gegevens worden daarna verwerkt tot bruikbare statistieken.

iftop

Iftop is een bandbreedte monitor die de netwerkbelasting van verschillende netwerkverbindingen real time weergeeft. Het gebruikt een ncursed gebruikersomgeving en toont de netwerkbelasting van de verschillende verbindingen in een gesorteerde lijst. Handig om netwerkbelastende verbindingen op te sporen.

dany@laptop:~> sudo zypper install iftop
root's password:
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

Het volgende NIEUWE pakket zal worden geïnstalleerd:
  iftop

1 nieuw te installeren pakket.
Totale downloadgrootte: 46,2 KiB. Reeds in de cache: 0 B. Na de operatie zal
aanvullend 95,2 KiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
pakket iftop-0.99.4-7.2.x86_64 wordt opgehaald
                                           (1/1),  46,2 KiB ( 95,2 KiB uitgepakt)
Ophalen: iftop-0.99.4-7.2.x86_64.rpm ....................................[gereed]
Controleren op conflicten tussen bestanden: .............................[gereed]
(1/1) Installeert: iftop-0.99.4-7.2 .....................................[gereed]
dany@laptop:~> sudo iftop
interface: eth0
IP address is: 192.168.1.4
MAC address is: 00:50:b6:6b:4f:28

iftop

Active Network Monitoring

iperf

Iperf meet de maximale netwerksnelheid tussen twee punten (computers). Dit wordt gebruikt om het effect van aanpassingen in het netwerk te meten. De netperf variant heeft meer mogelijkheden en toont betere statistieken.

Op de server computer start je iperf en zorg je dat de noodzakelijke poorten in de firewall geopend zijn.

dany@main:~> iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.4, port 50798
[  5] local 192.168.1.3 port 5201 connected to 192.168.1.4 port 50799
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec   106 MBytes   888 Mbits/sec                  
[  5]   1.00-2.00   sec   110 MBytes   921 Mbits/sec                  
[  5]   2.00-3.00   sec   110 MBytes   921 Mbits/sec                  
[  5]   3.00-4.00   sec   110 MBytes   921 Mbits/sec                  
[  5]   4.00-5.00   sec   110 MBytes   921 Mbits/sec                  
[  5]   5.00-6.00   sec   110 MBytes   921 Mbits/sec                  
[  5]   6.00-7.00   sec   110 MBytes   921 Mbits/sec                  
[  5]   7.00-8.00   sec   110 MBytes   921 Mbits/sec                  
[  5]   8.00-9.00   sec   110 MBytes   921 Mbits/sec                  
[  5]   9.00-10.00  sec   110 MBytes   921 Mbits/sec                  
[  5]  10.00-10.04  sec  3.97 MBytes   922 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  5]   0.00-10.04  sec  1.07 GBytes   918 Mbits/sec    0             sender
[  5]   0.00-10.04  sec  1.07 GBytes   918 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

Bovenstaande resultaten verschijnen pas als je op de client computer de volgende iperf opdracht start:

dany@laptop:~> sudo zypper install iperf
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

De volgende 2 NIEUWE pakketten zullen worden geïnstalleerd:
  iperf libiperf0

2 nieuw te installeren pakketten.
Totale downloadgrootte: 78,5 KiB. Reeds in de cache: 0 B. Na de operatie zal
aanvullend 170,2 KiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
pakket libiperf0-3.0.11-3.2.x86_64 wordt opgehaald
                                           (1/2),  54,4 KiB (128,9 KiB uitgepakt)
Ophalen: libiperf0-3.0.11-3.2.x86_64.rpm ................................[gereed]
pakket iperf-3.0.11-3.2.x86_64 wordt opgehaald
                                           (2/2),  24,1 KiB ( 41,4 KiB uitgepakt)
Ophalen: iperf-3.0.11-3.2.x86_64.rpm ....................................[gereed]
Controleren op conflicten tussen bestanden: .............................[gereed]
(1/2) Installeert: libiperf0-3.0.11-3.2 .................................[gereed]
(2/2) Installeert: iperf-3.0.11-3.2 .....................................[gereed]
dany@laptop:~> iperf3 -c 192.168.1.3
Connecting to host 192.168.1.3, port 5201
[  4] local 192.168.1.4 port 50799 connected to 192.168.1.3 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   110 MBytes   923 Mbits/sec    0    129 KBytes       
[  4]   1.00-2.00   sec   110 MBytes   921 Mbits/sec    0    129 KBytes       
[  4]   2.00-3.00   sec   110 MBytes   921 Mbits/sec    0    137 KBytes       
[  4]   3.00-4.00   sec   110 MBytes   921 Mbits/sec    0    153 KBytes       
[  4]   4.00-5.00   sec   110 MBytes   922 Mbits/sec    0    161 KBytes       
[  4]   5.00-6.00   sec   110 MBytes   921 Mbits/sec    0    170 KBytes       
[  4]   6.00-7.00   sec   110 MBytes   921 Mbits/sec    0    170 KBytes       
[  4]   7.00-8.00   sec   110 MBytes   922 Mbits/sec    0    170 KBytes       
[  4]   8.00-9.00   sec   110 MBytes   922 Mbits/sec    0    263 KBytes       
[  4]   9.00-10.00  sec   110 MBytes   920 Mbits/sec    0    263 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  1.07 GBytes   921 Mbits/sec    0             sender
[  4]   0.00-10.00  sec  1.07 GBytes   921 Mbits/sec                  receiver

iperf Done.

netcat/socat

Netcat is een veelzijdig netwerk hulpmiddel die in staat is te lezen van, te schrijven naar en te luisteren naar TCP/UDP sockets. Handig samen met andere programma's of scripts voor netwerk overdrachten en het luisteren naar poorten. Wees geduldig bij het uitvoeren van de volgende opdracht, zeker als de geteste verbinding mislukt (failed).

dany@main:~> netcat -z -v 192.168.1.4 20-23
netcat: connect to 192.168.1.4 port 20 (tcp) failed: Connection timed out
Connection to 192.168.1.4 21 port [tcp/ftp] succeeded!
Connection to 192.168.1.4 22 port [tcp/ssh] succeeded!
netcat: connect to 192.168.1.4 port 23 (tcp) failed: Connection timed out

nmap

Nmap is een poort scanner en netwerk ontdekker. Het is gebaseerd op verschillende UDP/TCP scan technieken om openstaande poorten, actieve computers, besturingssystemen op het lokale netwerk op te sporen. Handig bij het opsporen van kwetsbaarheden of het opbouwen van een plattegrond van het netwerk.

dany@main:~> sudo zypper install nmap
root's password:
Ophalen van metadata uit installatiebron 'home:X0F:HSF' .................[gereed]
Cache van opslagruimte 'home:X0F:HSF' bouwen ............................[gereed]
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

Het volgende NIEUWE pakket zal worden geïnstalleerd:
  nmap

1 nieuw te installeren pakket.
Totale downloadgrootte: 3,6 MiB. Reeds in de cache: 0 B. Na de operatie zal
aanvullend 16,7 MiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
pakket nmap-6.47-9.10.x86_64 wordt opgehaald
                                           (1/1),   3,6 MiB ( 16,7 MiB uitgepakt)
Ophalen: nmap-6.47-9.10.x86_64.rpm ..........................[gereed (1,2 MiB/s)]
Controleren op conflicten tussen bestanden: .............................[gereed]
(1/1) Installeert: nmap-6.47-9.10 .......................................[gereed]
dany@main:~> nmap --top-ports 10 192.168.1.4

Starting Nmap 6.47 ( http://nmap.org ) at 2016-03-12 16:41 CET
Nmap scan report for 192.168.1.4
Host is up (0.00052s latency).
PORT     STATE    SERVICE
21/tcp   open     ftp
22/tcp   open     ssh
23/tcp   filtered telnet
25/tcp   filtered smtp
80/tcp   open     http
110/tcp  filtered pop3
139/tcp  open     netbios-ssn
443/tcp  filtered https
445/tcp  open     microsoft-ds
3389/tcp filtered ms-wbt-server

Nmap done: 1 IP address (1 host up) scanned in 2.57 seconds

Ping, hping, fping, noping

Ping werkt met ICMP echo en de antwoord pakketten met een andere computer. Handig voor het meten van de Round-Trip-Time (RTT) vertraging en de onder de baan verloren geraakte pakketten. Eveneens geschikt om firewall regels van een systeem op afstand te testen.

dany@laptop:~> sudo zypper install noping
root's password:
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

De volgende 2 NIEUWE pakketten zullen worden geïnstalleerd:
  liboping0 noping

2 nieuw te installeren pakketten.
Totale downloadgrootte: 45,9 KiB. Reeds in de cache: 0 B. Na de operatie zal
aanvullend 88,5 KiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
pakket liboping0-1.8.0-3.2.x86_64 wordt opgehaald
                                           (1/2),  28,2 KiB ( 57,8 KiB uitgepakt)
Ophalen: liboping0-1.8.0-3.2.x86_64.rpm .................................[gereed]
pakket noping-1.8.0-3.2.x86_64 wordt opgehaald
                                           (2/2),  17,7 KiB ( 30,8 KiB uitgepakt)
Ophalen: noping-1.8.0-3.2.x86_64.rpm ....................................[gereed]
Controleren op conflicten tussen bestanden: .............................[gereed]
(1/2) Installeert: liboping0-1.8.0-3.2 ..................................[gereed]
(2/2) Installeert: noping-1.8.0-3.2 .....................................[gereed]
dany@laptop:~> sudo noping 192.168.1.3

--- 192.168.1.3 ping statistics ---
34 packets transmitted, 34 received, 0,00% packet loss, time 13,8ms
RTT[ms]: min = 0, median = 0, p(95) = 0, max = 0

noping