voll falsch. die geschwindigkeit ist die gleiche, da die verschlüsselung (afaik) keinen overhead erzeugt.
WENN dies langsamer ist, liegt dies einzig und allein an deiner cpu, welche zu schwach auf der brust ist. da hilft schon ein einfaches -c blowfish hinters ssh und schon kann man die cpubelastung verringern...
Tatsächlich hab' ich hier im Büro 'nen 800Mhz Athlon, der Dateitransfers mit der geschilderten Methode (tar c | nc) um Faktoren schneller erledigt als scp. Nachdem ich es schon gewohnt bin mit netcat (oder eigentlich socat - http://www.dest-unreach.org/socat/) grössere Datenmengen übers Netz zu schieben, mach' ich mir auch nicht den Umstand mit '-c blowfish' für ein paar Prozent weniger zeitverlust.
Hmm gleich mal ausprobiert. Nicht schlecht ! nur noch zwei fragen dazu. 1) hab version 0.7.1, jedoch gibt es bei mir -q nicht. Hab die Manpage auch überflogen, dazu steht nichts drin 2) können mehrere Rechner/Personen parallel ein netcat "Server" nutzen (konnte ich jetz nicht testen nur ein Rechner)
Von Moritz Orbach am Mo, 9. Februar 2004 um 21:09 #
Hach, ich liebe sinnlose, aufgeblasene shellscripte! ;) so sollte es mit allen browsern klappen (galeon lief vorher nicht).
------------------------ cut ncsend ------------------------- #!/bin/bash # moritz orbach # * ls --block-size ist schrott! kein byte! # * cut raffts mal wieder nicht mit den tabs und spaces. ls-parameter für tabs? # * lustig! (x = variablen): ls -l $1 | read x x x x x x size x x x x
Von Katzenhasser am Di, 10. Februar 2004 um 16:20 #
....aber netcat-Benutzer, ich finde die -e Option auch irgendwie abgefahren. Das Tool ist schon so alt, aber einfach gut, wenn man weiss was es kann ;-)
da wäre dann auch noch cryptcat, das die wervollen daten nicht im klartext überträgt, sondern mit twofish verschlüsselt. ansonsten verhält es sich wie netcat.
und für ganz abgefahrene dinge kann man socat einsetzen. damit kann man auch ssl nutzen, unix domain sockets auf ipv6 umleiten und beliebigen weiteren unfug
bei mir ist es deutlich langsamer über tar cvv * | nc ip port und nc -l -p | tar xvv Dateien zu kopieren als über scp up faktor 30 etwa, woran kann das liegen. die dateien die per tar zusammengestellt werden sind sehr groß (600mb) liegts vllt daran, dass tar einfach zu lahm is, aber packoption is ja abgestellt..
tar c |ssh -C USER@RECHNERB "tar x"
...man bekommt Compression und Verschluesselung bei allen Operationen geschenkt....
wenn nein:
man scp
Aber rsync waehre IMHO die beste Loesung fuer diesen Zweck... vor allem weil es auch inkrementell arbeiten kann...
cu. peter
WENN dies langsamer ist, liegt dies einzig und allein an deiner cpu, welche zu schwach auf der brust ist.
da hilft schon ein einfaches -c blowfish hinters ssh und schon kann man die cpubelastung verringern...
Jeff
http://www.belwue.de/projekte/saft/
nur noch zwei fragen dazu.
1) hab version 0.7.1, jedoch gibt es bei mir -q nicht. Hab die Manpage auch überflogen, dazu steht nichts drin
2) können mehrere Rechner/Personen parallel ein netcat "Server" nutzen (konnte ich jetz nicht testen nur ein Rechner)
so sollte es mit allen browsern klappen (galeon lief vorher nicht).
------------------------ cut ncsend -------------------------
#!/bin/bash
# moritz orbach
# * ls --block-size ist schrott! kein byte!
# * cut raffts mal wieder nicht mit den tabs und spaces. ls-parameter für tabs?
# * lustig! (x = variablen): ls -l $1 | read x x x x x x size x x x x
# sicherissicher
unset tar
trap "echo HEY!;cleanup" SIGINT
cleanup()
{
# aufräumen
rm -f $temp
rm -f /tmp/ncsend-tar.*
exit $1
}
tarit()
{
read -p "tarball von "$1" erstellen? (J/n) " -n1
if [ ! "$REPLY" -o "$REPLY" = "j" -o "$REPLY" = "J" ]; then
echo erstelle tarball
tar=$(mktemp /tmp/ncsend-tar.XXXXXXX) || exit 3
tar -czvf $tar "$1" || {
echo fehler beim erstellen des tarballs
cleanup 4
}
echo
else
echo -e "\nund tschüss"
exit
fi
}
# -------- #
if [ $# -ne 2 ]; then
echo "usage: $0 [datei|verzeichnis] [port]"
exit 1
fi
test ! -r "$1" && {
echo "kann datei nicht lesen"
exit 2
}
if [ -d "$1" ]; then
tarit "$1"
file=$tar
tar=jo
mimetype="application/x-gzip"
else
file="$1"
mimetype="Application/Octet-Stream"
fi
temp=$(mktemp /tmp/ncsend.XXXXXXX) || cleanup 3
size=$(ls -l "$file" | awk '{ print $5 }')
# http-response
cat < $temp
HTTP/1.0 200 OK
Server: netcat
Content-length: $size
Content-type: $mimetype
eoh
trap "echo abbruch;cleanup" SIGINT
echo größe: $(echo scale=2\;$size / 1024 | bc -l) kb
cat $temp "$file" | nc -lvp "$2" && echo alles rodscher || echo fehler
cleanup
------------------------ cut ncsend -------------------------
Uff. irgendeinen mist hab ich bestimmt noch übersehen auf die schnelle.
Und wget bleibt kurz vor ende stecken.. :(
Übrigens, das ganze sollte prinzipiell sogar ohne nc und nur mit bash recirection funktionieren. Das chatten auf jeden fall.
mit -q1 klappt es auch mit wget.
80 stream tcp nowait.400 nobody /usr/bin/netcat nc -w 20 127.0.0.1 8888
und netcat leitet port 80 auf port 8888 um.
Das Tool ist schon so alt, aber einfach gut, wenn man weiss was es kann ;-)
have fun
(das waren npch zeit als man so firewalls umgehen konnte...)
ist aber eine tolle idee mit den stream!
nc -l -p 2000 | nc 192.168.0.12 80
aber das funktioniert nicht
und für ganz abgefahrene dinge kann man socat einsetzen. damit kann man auch ssl nutzen, unix domain sockets auf ipv6 umleiten und beliebigen weiteren unfug
Stefan
eine weitere gute Dokumentation mit einigen Beispielen ist auf http://www.remoteshell-security.com/netcat.php zu finden.
up faktor 30 etwa, woran kann das liegen.
die dateien die per tar zusammengestellt werden sind sehr groß (600mb) liegts vllt daran, dass tar einfach zu lahm is,
aber packoption is ja abgestellt..