Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何测量SSH隧道的带宽?_Ssh_Openssh - Fatal编程技术网

如何测量SSH隧道的带宽?

如何测量SSH隧道的带宽?,ssh,openssh,Ssh,Openssh,我正在使用子流程python模块在linux上运行带有OpenSSH的SSH隧道。 我想知道从SSH隧道发送和接收了多少字节 我怎样才能找到它呢?与Python完全无关。查看网络嗅探器功能,您可以在其中嗅探进出的流量。ssh(1)没有为此提供任何机制。操作系统没有为此提供机制。使用例如tcpdump(1)的数据包嗅探是一个选项,但这可能需要根权限,并且只有在ssh(1)连接到应用程序外部的远程对等方时才是近似值。将给您类似的折衷,但开销可能比tcpdump(1)小得多 如果不介意非常近似,可以跟

我正在使用
子流程
python模块在linux上运行带有OpenSSH的SSH隧道。 我想知道从SSH隧道发送和接收了多少字节


我怎样才能找到它呢?

与Python完全无关。查看网络嗅探器功能,您可以在其中嗅探进出的流量。

ssh(1)
没有为此提供任何机制。操作系统没有为此提供机制。使用例如
tcpdump(1)
的数据包嗅探是一个选项,但这可能需要根权限,并且只有在
ssh(1)
连接到应用程序外部的远程对等方时才是近似值。将给您类似的折衷,但开销可能比
tcpdump(1)
小得多

如果不介意非常近似,可以跟踪发送到子流程和从子流程读取的所有数据
ssh(1)
将在加密数据之前对其进行压缩,因此您可能会高估发送的数据量,但是
ssh(1)
在重新设置密钥、通道控制、消息真实性等方面也会有一些开销,因此它甚至可能接近“平均”数据

当然,如果沿途的路由器决定每隔丢弃一个数据包,TCP堆栈将发送两倍的数据,甚至更多


非常近似。

您可以使用pv:

sshuser@remote-t“cat/dev/uradom”| pv>/dev/null sshuser@remote-t“pv>/dev/null” (您可以尝试使用/dev/zero,但如果您使用的是ssh压缩,则会得到非常不真实的传输速率。)