Inhaltsverzeichnis

Netzwerkmessung

Dieser Artikel befasst sich mit der Netzwerkmessung mit Linux. Folgende Fragen werden hier behandelt.

Wie kann ich Netzwerkmessungen mit einem Linux-Client machen und analysieren? Wie kann ich Netzwerktraffic mitschneiden?

Wenn mann einen managebaren Switch hat, dann kann man „Port-Mirroring“ betreiben. Hierbei wird der Traffic eines Ports auf einen anderen Port gespiegelt.

Das an dem Spiegelport angeschlossene Gerät kann dann den gesamten Traffic des gespiegelten Ports einsehen.

Wenn ein solcher Switch nicht vorhanden ist, dann behilft man sich mit Softwaretools.

ARP-Spoofing

Mit ARP-Spoofing kann der Netzwerktraffic für einen Netzwerkclient abgefangen werden

Hier gibt sich der Linux-Client als ein anderer Netzwerkclient aus.

ARP-Spoofing unter Linux kann z.B. mit dem Programm arpspoof realisiert werden. Es befindet sich im Paket „dsniff“.

Installiert wird dies wie folgt:

apt-get install dsniff

arpspoof sendet kontinuierlich gefälschte ARP-Pakete an ein Target oder ein Netz und gibt dem/denen vor ein anderer Host zu sein.

So kann man das ganze starten:

arpspoof -i <INTERFACE> -t <TARGET> <HOST>

Wenn hier das Target weggelassen wird, dann sendet man per Broadcast im ges. Netzwerk.

Damit das Mitschneiden des Traffics für den zu spoofenden Client transparent ist, aktiviert man das weiterleiten des Traffics an diesen. Sonst verwirft der Linux-Client den Traffic und der zu spoofende Client erhält nichts.

Temporär kann dies, mit sofortiger Wirkung, so erfolgen:

echo 1 > /proc/sys/net/ipv4/ip_forward

Wenn das Weiterleiten immer erfolgen soll, dann entkommentiert man folgende Zeile (einfach die „#“, am Anfang, entfernen).

vi /etc/sysctl.conf
#net.ipv4.ip_forward=1

Danach muss der Rechner allerdings neugestartet werden.

Quelle: http://www.irongeek.com/i.php?page=security/arpspoof

Trafficanalyse / Bandbreitenmessung

Zur Analyse des Traffics gibt es verschiedene Programme. Einige werden hier vorgestellt.

iftop

Mit iftop kann man live die Bandbreitenmessung vornehmen.

Das Programm wird wie folgt installiert:

apt-get install iftop

Aufgerufen wird iftop einfach mit:

iftop

iftop

bmon

Mit bmon kann man live die Bandbreitenmessung vornehmen.

Das Programm wird wie folgt installiert:

apt-get install bmon

Aufgerufen wird bmon einfach mit:

bmon

bmon

iptraf

iptraf ist ein IP LAN Monitor. Hier werden verschiedene Statistiken ausgegeben.
Dies ist ein Tool zur Echtzeitmessung.

Das Programm wird wie folgt installiert:

apt-get install iptraf

Aufgerufen wird iptraf einfach mit:

iptraf

iptraf

Auf Host „A“ folgendes starten

nc -l -v 1234

Auf Host „B“ in einem Terminal dies ausführen

dd if=/dev/zero bs=1024k count=1024 | nc host/ip 1234

und auf dem zweitem Terminal iftraf starten

tcpdump

Mit tcpdump lässt sich der Traffic einer Schnittstelle mitscheiden.

Das Programm wird wie folgt installiert:

apt-get install tcpdump

Aufgerufen wird tcpdump einfach mit:

tcpdump -i <INTERFACENAME> [FILTER]

tcpdump

Einige Filter (Quelle: https://wiki.ubuntuusers.de/tcpdump/)

Option Werte Bedeutung
host IP-Adresse
(oder auch Hostname)
Es werden nur Pakete mitgeschnitten, die entweder als Quelle oder als Ziel die angegebene IP-Adresse besitzen. Anstelle einer IP-Adresse kann auch ein Hostname angegeben werden (aber nur, wenn nicht das -n Flag (s.o.) benutzt wird).
net Netzwerk-Bereich in
CIDR-Schreibweise
Es werden nur Pakete mitgeschnitten, die entweder als Quelle oder als Ziel eine IP-Adresse aus dem angegebenen Netzwerkbereich besitzen
port eine Zahl von
0 bis 65535
Schneidet Pakete mit, die entweder auf Quell- oder auf Ziel-Seite den angegebenen Port besitzen
portrange 0-65535 Schneidet Pakete mit, die entweder auf Quell- oder auf Ziel-Seite einen Port in dem angegebenen Portbereich besitzen
src host, net, port oder
portrange
Es werden nur Pakete mitgeschnitten, die als Quelle den angegebenen Wert besitzen
dst host, net, port oder
portrange
Es werden nur Pakete mitgeschnitten, die als Ziel den angegebenen Wert besitzen
proto ether, fddi, tr, wlan, ip, ip6, arp, rarp, decnet,
tcp und udp
Netzwerkprotokoll, in dem Pakete mitgeschnitten werden sollen

Beispiele

termshark

Mit Termshark kann man mitgeschnittene Dateien von tcpdump oder whireshark öffnen und im Terminal untersuchen.

termshark -r <DATEI>

ntop

Mit ntop kann der Netzwerktraffic über längere Zeit aufgenommen und später grafisch darstellt werden.

Man erreicht die Oberfläche von ntop über eine Webseite http://<HOST>:3000

Das Programm wird wie folgt installiert:

apt-get install 

Gestartet wird ntop einfach mit:

service ntop start

ntop

iperf

Mit ipferf kann man eine Bandbreitenmessung von einen Windows-Client zu einem anderen Windows-client machen.
Dazu führt man folgende Befehle in der CMD aus:
*Server

iperf -s

Client2

iperf -c <IP_ODER_DNS_NAME_VON_CLIENT1>

Hier die möglichen Parameter aus der Hilfe von iperf 3.0.7:
( Die Angaben [KMG] sind die möglichen Größenbezeichnungen für kilo-, mega-, oder giga-)

Parameter zusätzl. Angaben Beschreibung
Server or Client
-p, –port # server port to listen on/connect to
-f, –format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes
-i, –interval # seconds between periodic bandwidth reports
-F, –file name xmit/recv the specified file
-A, –affinity n/n,m set CPU affinity
-B, –bind <host> bind to a specific interface
-V, –verbose more detailed output
-J, –json output in JSON format
-d, –debug emit debugging output
-v, –version show version information and quit
-h, –help show this message and quit
Server specific
-s, –server run in server mode
-D, –daemon run the server as a daemon
Client specific
-c, –client <host> run in client mode, connecting to <host>
-u, –udp use UDP rather than TCP
-b, –bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)
default 1 Mbit/sec for UDP, unlimited for TCP)
(optional slash and packet count for burst mode)
-t, –time # time in seconds to transmit for (default 10 secs)
-n, –bytes #[KMG] number of bytes to transmit (instead of -t)
-k, –blockcount #[KMG] number of blocks (packets) to transmit (instead of -t or -n)
-l, –len #[KMG] length of buffer to read or write
(default 128 KB for TCP, 8 KB for UDP)
-P, –parallel # number of parallel client streams to run
-R, –reverse run in reverse mode (server sends, client receives)
-w, –window #[KMG] TCP window size (socket buffer size)
-C, –linux-congestion <algo> set TCP congestion control algorithm (Linux only)
-M, –set-mss # set TCP maximum segment size (MTU - 40 bytes)
-N, –nodelay set TCP no delay, disabling Nagle's Algorithm
-4, –version4 only use IPv4
-6, –version6 only use IPv6
-S, –tos N set the IP 'type of service'
-L, –flowlabel N set the IPv6 flow label (only supported on Linux)
-Z, –zerocopy use a 'zero copy' method of sending data
-O, –omit N omit the first n seconds
-T, –title str prefix every output line with this string
–get-server-output get results from server

WLAN

Zur Messung der Signalqualität und -stärke kann man das Tool wavemon verwenden.

apt-get install wavemon

Links

Diverse Tools
WLAN Übertragungsmessung