Wie viele Daten verwendet SSH normalerweise?

24

Ich möchte in einen Laptop (Ubuntu) ssh, der über eine 3G-Verbindung verbunden wird. Daher muss ich abschätzen, wie viele Daten ich für die Auswahl eines geeigneten Plans verwenden werde.

Unabhängig von der Dateiübertragung, für die ich leicht bestimmen kann, wie viele Daten verwendet werden, wie viel wird normalerweise in einer SSH-Sitzung verwendet? Gibt es eine Beziehung, lsdie mich zB bei einem Verzeichnis mit 50 Einträgen eine bestimmte Datenmenge kostet? Oder ist es zeitabhängiger und überträgt eine SSH-Sitzung eine bestimmte Datenmenge pro Zeitintervall, unabhängig von der Verwendung?

Saaru Lindestøkke
quelle

Antworten:

15

Was ist die typische Menge, die eine SSH-Sitzung verwendet?

Ich bin nicht sicher, ob es "typisch" ist

Sie sollten ausführen tcpdump -ni eth0 -w dump port 22, um alle Ihre Pakete zu erfassen und sie dann tcpdump -nX -r dumpanzuzeigen.

Gibt es eine Art von Beziehung, z. B. kostet mich die Verwendung von ls in einem Verzeichnis mit 50 Einträgen eine bestimmte Datenmenge?

Sie könnten das berechnen. Als grobe Schätzung generiert jeder Tastendruck 4 Pakete (Tastendruck, Bestätigen, Echo auf dem Bildschirm, Bestätigen) und jedes Paket hat eine Menge Overhead. (Mein TCP-Dump sagt 500 Bytes, um 2 Zeichen einzugeben.)

Meine Verzeichnisliste mit 135 Dateien hat 2.5k gedauert.

Die Verwendung der ssh -CKomprimierung sollte für den größeren Text hilfreich sein.

Oder ist es zeitabhängiger und überträgt eine SSH-Sitzung eine bestimmte Datenmenge pro Zeitintervall, unabhängig von der Verwendung?

Ja. Sowohl TCP als auch SSH verfügen über Keepalive-Tests. Dies wird ein Problem sein, wenn Sie die ganze Zeit so weitermachen. Verwenden Sie erneut TCPDump zum Messen.

Mein Rat: anstatt sich Sorgen zu machen, stellen Sie sicher, dass Sie tatsächlich Echtzeit-Feedback zu Ihrer Nutzung haben. Nach einigen Sitzungen wissen Sie, wie nah Sie sich befinden.

BraveNewCurrency
quelle
1
Um die Gesamtgröße der von tcpdump erfassten Pakete zu ermitteln, können Sie capinfo(von Wireshark) die von tcpdump geschriebene Datei verwenden. zBcapinfos dump
Flux
8

Ich habe ein ähnliches Setup (3G-Verbindung auf einem entfernten Ubuntu-Laptop).

Obwohl ich zustimme, dass es keine "typische" Antwort gibt (dies hängt sowohl von Ihrer eigenen Verwendung als auch von den SSHD / SSH-Optionen wie "Keepalive" -Frequenz, SSH-Komprimierung und möglicherweise anderen SSH-Optionen ab), konnte ich meine Grundkenntnisse reduzieren Leerlauf-SSH-Bandbreite von 0,2 bis 0,3 MB / Stunde (entspricht 200 MB / Monat).

Ich habe tcpdump und dann wireshark verwendet, um meine Bandbreitennutzung zu visualisieren und zu messen (zusätzlich zu den RX-Bytes / TX-Bytes der Schnittstelle mit ifconfig).

0,2 - 0,3 MB Bandbreite auf meinem Rig haben folgende Optionen: TCPKeepAlive no (sshd server, sshd_config) und ServerAliveInterval 180, ServerAliveCountMax 40, TCPKeepAlive no (auf dem Client, dh ssh_config)

Ich hoffe, das hilft, wenn nicht Sie, dann andere Benutzer mit einem ähnlichen Setup.

Geehan
quelle
3

SSH sendet im Grunde den Befehl und die Bildschirmausgabe. Wenn Sie nur Kommandozeilenbefehle ausführen, ist eine grobe Schätzung ein Byte pro Zeichen auf Ihrem Bildschirm.

Wenn Sie eine X-Sitzung tunneln, SCP zum Übertragen von Dateien usw., steigt natürlich die Bandbreite.

Ich sage, es ist eine grobe Schätzung, da es etwas Overhead gibt. Sie können auch das Flag -C verwenden, um die Komprimierung anzufordern.

Ernie
quelle