如何在 Linux 上获取文件下载连接

如何在 Linux 上获取文件下载连接

我有一个包含视频内容(mp4 文件)的网站。

当人们观看视频时,他们会从我的网站下载视频文件。我想通过 Linux 终端了解活动连接的数量。它们可能是端口 80 上的 TCP 数据包。

然而:

$ netstat -an |grep :80 | wc -l

给出一个巨大的数字,~6-7k。我认为这不正确?

答案1

netstat在 Linux 上已经过时并且被ss您应该使用的替代。

类似这样的事情应该会给你你想要的东西:

$ ss -H state established '( sport = :https )' | wc -l
21

这将选择端口 443 上当前建立的连接,即连接到远程主机的连接,但不包括正在关闭的连接。

答案2

netstat -an

将为您提供活动连接以及其他所有内容。这包括侦听端口等。

如果您只能使用 netstat,您应该能够使用以下命令计算出已建立的连接数:

netstat -an | grep -w "<listening ip>:80" | grep ESTABLISHED | wc -l

这有点像黑客攻击,但只需计算进入你的监听 ip(端口 80)的已建立连接的数量即可。

如果您可以安装 ss,或者已经安装了它:

ss -nt dst <ip webserver is listening on>:80 | wc -l

以上内容应该会为您提供在端口 80 上以您的监听 IP 地址为目的地的所有连接的数量。

如果您正在寻找唯一的连接,您甚至可以通过使用“sort”然后“uniq -c”(前面是“wc -l”)来进一步缩小范围,以获得唯一连接的数量。

ss 非常有用:https://linux.die.net/man/8/ss

相关内容