Mal wieder was aus der Kategorie „unterschätztes Tool“. Diesmal geht es um iftop. Das benutze ich schon seit Jahren, um auf einem Server schnell zu sehen, mit welcher Gegenstelle der meiste Verkehr stattfindet. Ohne irgendwelche Parameter aufgerufen zeigt es – ähnlich wie top auf dem kompletten Bildschirm und regelmäßig aktualisisert – eine nach Verkehr sortierte Liste von Hostpaaren mit getrennt aufgelisteten Datenraten des ein- und ausgehenden Verkehrs in 2, 10 und 40 Sekunden Intervallen. Dazu kommen noch ein paar Summenfelder (gesamter Verkehr, Peakrate, …). Das geht schnell und direkt. Bis vor kurzem dachte ich, dass das alles war.

Man kann aber zur Laufzeit des Programms die Anzeige der Rechner und Ports aktivieren und deaktivieren, und zwar unabhängig für die Quellrechner („s“ für den Source Host, „S“ für den Sorce Port) und den Zielrechner („d“ und „D“). Damit kann erhält man erstaunlichen Mehrwert: Wenn ich wissen will, mit was für Diensten mein Arbeitsplatzrechner gerade spricht, stellt man die Anzeige der Quellports und die der Zielnamen ab und erhält so etwas:

                195kb           391kb           586kb           781kb      977kb
└───────────────┴───────────────┴───────────────┴───────────────┴───────────────
192.168.1.3                =>  * :imap2                     0b   3,44kb   881b
                           <=                               0b   12,5kb  3,13kb
192.168.1.3                =>  * :pop3s                     0b   1,86kb   477b
                           <=                               0b   6,60kb  1,65kb
192.168.1.3                =>  * :http                      0b    987b   2,04kb
                           <=                               0b    653b   12,0kb
192.168.1.3                =>  * :domain                    0b    283b     94b
                           <=                               0b    514b    167b
192.168.1.3                =>  * :ntp                       0b    122b     61b
                           <=                               0b    122b     61b
192.168.1.1                =>  *                            0b     26b     13b
                           <=                               0b      0b      0b
192.168.1.255              =>  * :netbios-dgm               0b      0b      0b
                           <=                               0b      0b    439b


────────────────────────────────────────────────────────────────────────────────
TX:             cum:   1,20MB   peak:   14,2kb  rates:      0b   6,67kb  3,51kb
RX:                    4,24MB            209kb              0b   20,4kb  17,5kb
TOTAL:                 5,45MB            214kb              0b   27,1kb  21,0kb

Das sind jetzt kleine Zahlen, weil ich gerade nicht surfe und keine Hintergrund-Downloads hatte. Das Prinzip sollte aber klar sein.

Wenn man (sinnigerweise auf einem Server) den Quellport anzeigt, aber weder den Zielhost noch den Zielport erhält man eine nach Protokollen sortierte Übersicht des ausgehenden Verkehrs.

Die Möglichkeit, beim Start mit den Parametern -f Filter, -F Netz/Maske und -G v6Netz/Maske die zu zählenden Pakete einzuschränken runden das ganze ab und machen iftop zu einem viel nützlicheren Tool als man auf den ersten Blick sieht.