在Docker Ubuntu Server 16.04容器中,netstat或者替代工具是什么?

在16.04中是否删除了netstat?在16.04中是否有netstat的替代方案可用?或者如何在16.04中安装netstat

我在docker for Windows中运行一个ubuntu:16.04容器,似乎netstat不再可用...它在ubuntu:14.04容器中可用。

我尝试使用apt-get安装netstat,但没有成功...

apt-get update

...

apt-get install netstat
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package netstat

可能对大多数开发人员来说,这个问题的解决方案非常明显,但是对我来说,Linux还很陌生...不过我非常喜欢它!
3个回答

https://packages.ubuntu.com/xenial/amd64/net-tools/filelist可以看出,netstat是由net-tools软件包提供的。因此,您可以通过运行以下命令来获取netstat
sudo apt update
sudo apt install net-tools

net-tools 可能不会默认安装在 Docker 镜像中的 Ubuntu 16.04 上,以尽可能保持镜像的大小较小。


谢谢 @edwinksl。看起来在14.04版本中,默认已经包含了netstat。如果在16.04版本中没有默认包含,你知道是否有其他替代品作为16.04的默认选项吗?或者16.04之所以没有包含它,是为了使其成为一个更加基本的单元吗? - Duncan Gravill
2@DuncanGravill 在我的Ubuntu 16.04桌面上,默认情况下就提供了这个功能。可能是因为你使用的Docker镜像为了保持镜像大小可控而将其排除在外。无论如何,这并不是什么大问题,如果缺少的话,你可以直接安装它。 - edwinksl
不仅我无法在16.04版本的Ubuntu上找到并安装net-tools,而且由于他们从Docker镜像中删除了sudo,我也无法使用sudo。需要运行apt-get update来解决这个问题。 - obesechicken13

在我看来,最好开始适应新的工具。 ss被自动定义为“另一个用于调查套接字的实用工具”。
ss -ltu

将显示 TCP 和 UDP 的监听套接字。

要获取更多信息,可以使用 ss --helpman ss。程序ss 可在 iproute2 包中找到。


nstat是一个好的选择吗? - luv.preet
谢谢。netstat已经过时了,你应该使用ss(man netstat)。 - redochka
netstat在Linux上已经被弃用,但仍然在其他操作系统上使用。使用ss是一个好的提示。 - Ejoso
哪个apt软件包提供了ss - JamesThomasMoon
1@JamesThomasMoon1979 请不要在评论区提问。你要找的是 iproute2 - user68186
如何使用 ss 列出 SSH 隧道?我正在寻找 netstat -tulpen 命令的替代方案。 - naXa stands with Ukraine

在容器中提供的Ubuntu版本比典型的桌面安装要少得多。
Netstat在Ubuntu 16.04仍然可用(通过net-tools软件包)。只是默认情况下,该软件包未在Docker容器内安装。

它也没有在Ubuntu 18.04中安装 - Binar Web