SSH通常使用多少数据?


24

我想插入到笔记本电脑(Ubuntu)中,该笔记本电脑将通过3G连接进行连接。因此,我需要估算选择适合的计划时将使用多少数据。

与文件传输分开,我可以轻松地确定要使用多少数据,ssh会话通常使用多少数据?是否存在某种关系,例如ls在包含50个项目的目录上使用将花费我一定数量的数据?还是更依赖于时间,并且ssh会话是否在每个时间间隔内传输一定数量的数据,而不管其用途如何?

Answers:


15

ssh会话通常使用多少量?

我不确定是否存在“典型”事件

您应该运行tcpdump -ni eth0 -w dump port 22以捕获所有数据包,然后tcpdump -nX -r dump进行查看。

是否存在某种关系,例如,在具有50个项目的目录上使用ls将花费我一定数量的数据?

您可以计算得出。粗略估计,每次击键都会产生4个数据包(按键,确认,屏幕上的回声,确认),每个数据包都会产生大量开销。(我的TCP转储说500字节来键入2个字符。)

我的135个文件的目录列出了2.5k。

使用ssh -C压缩应有助于更大的文本。

还是更依赖于时间,并且ssh会话是否在每个时间间隔内传输一定数量的数据,而不管其用途如何?

是。TCP和SSH都具有keepalive探针。如果您一直坚持下去,这将是一个问题。同样,使用TCPDump进行测量。

我的建议:请确保您确实有使用情况的实时反馈,而不用担心。使用几次会话后,您将知道自己有多近。


1
要查找tcpdump捕获的数据包的总大小,可以capinfo对tcpdump写入的文件使用(来自Wireshark)。例如capinfos dump
Flux

8

我有一个类似的设置(远程Ubuntu笔记本电脑上的3G连接)。

虽然我同意没有“典型”答案(这取决于您自己的用法以及sshd / ssh选项(例如“ keepalive”频率,ssh压缩以及其他ssh选项)),但我已经能够减少基本闲置ssh带宽为0.2-0.3MB /小时(可以达到200MB /月)。

我使用过tcpdump,然后使用wireshark可视化并测量了带宽使用情况(除了使用ifconfig接口的RX字节/ TX字节之外)。

我的设备上的0.2-0.3MB带宽具有以下选项:TCPKeepAlive否(sshd服务器,sshd_config)和ServerAliveInterval 180,ServerAliveCountMax 40,TCPKeepAlive否(在客户端上,即ssh_config)

希望对您有帮助的其他用户(如果没有)对您有帮助。


3

SSH基本上是发送命令和屏幕输出。如果您只是在做命令行工作,则粗略估计将是屏幕上每个字符一个字节。

显然,如果您通过X会话隧道,SCP来传输文件等,则带宽将增加。

我说这是一个粗略的估计,因为有一些开销。您也可以使用-C标志来请求压缩。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.