Netcat

Netcat ist ein sehr nützliches Tool für viele Gelegenheiten. Ich persönlich benutze es meistens nur um den Durchsatz eines Netzwerkes zu testen wenn ich mir nicht sicher bin ob Performanceprobleme auf das Netwzerk, oder die Software zurückzuführen sind.

Dazu muss man auf dem Zielrechner netcat (oft auch nc) starten:

netcat -l <Port> > <Dateiname>

Und natürlich auf der sendenden Maschiene ein entsprechendes Netcat starten damit auf dem Zielhost empfangen werden kann:

netcat <Zieladresse> <Port> < <Dateiname>

Wenn man die Zeit des des Befehl auf der sendenden Maschine misst, kann man daraus den Durchsatz errechnen, dieser kommt meist nahe der praktischen Leistungsgrenzen der Netzwerkverbindung, da dort weder Kompression noch aufwändige Protokolle overhead erzeugen.

Backup mit Netcat

Weiterhin kann man ganz nette Backups mit Netcat machen. Z.b. ganze Partitionen, oder ganze Platten. Partitionen kann man hinterher schön mounten, deswegen finde ich das praktischer. Will man eine Partition mit netcat über das Netzwerk wegsichern, macht man folgendes:

Auf dem Quellrechner:

dd if=/dev/<partition> | netcat/nc <Zieladresse> <Port> 

Auf dem Zielrechner:

netcat/nc -l <Port> > <Dateiname>

Und schon hat man ein file in dem die Partion enthalten ist. Diese kann man nun ein bischen aufpeppen.

Backup mit Tricks

Will man das ganze noch ein bischen verfeineren, schribt man bevor man ein solches Backup macht erstmal den restlichen space mit „0“ voll. Das geht ganz einfach mit:

cd <Verzeichnis auf der Partition>
dd if=/dev/zero of=lala.txt

Das hat den Sinn, das der freie Platz mit nullen überschrieben wird und sich so besser komprimieren läßt.

Aufpassen muss man bei der root Partition, da muss man ein wenig Platz freilassen. Das kann man mit der Angabe bs=1m und count=<mb frei – 50>. So vermeidet man das das System unansprechbar wird.

Anschließend komprimieren wir die Ausgabe des dd durch folgende Angabe:

Quellrechner:

dd if=/dev/<Partition> | gzip -9 -c | netcat <Zieladresse> <Port>

Damit wird das ganze dann „on the fly“ komprimiert. Das kostet zwar CPU Zeit, spart aber viel Platz. Auf dem Zielsystem braucht man eigentlich nicht viel ändern, ich würde als Endung einfach .gz anfügen, damit man weiß das das Image komprimiert ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.