为什么只在 netstat 的特定格式中列出端口?

为什么只在 netstat 的特定格式中列出端口?

我有 Tomcat,我正在尝试绑定到 2 个特定端口(使用自定义连接器)。例如 portA和 port B
问题:
当我这样做netstat -a |grep A不是查看列出的端口。
如果我这样做,我会看到列出的netstat -antp两个端口。 AB

这些命令之间有什么区别?

答案1

选项-n就是区别所在。如果没有它,netstat会将众所周知的端口(例如 3306 和 80)转换为诸如 mysql 和 http 之类的名称。

如果A是知名端口而B不是,则第一个命令只会列出您的一个端口。

如果某个端口是知名的,则应该在中列出/etc/services

答案2

通过指定,-n您可以告诉 netstat 使用端口号而不是服务名称。如果您查看的输出,netstat -a您将看到端口号是人类可读的服务名称。这些是从 映射的/etc/services,因此如果您正在监听端口 80,您将看到*:httphostname:http,如果您正在监听端口 8080,您将看到*:webcachehostname:webcache

来自 Fedora 16 上的 netstat 手册页:

  --numeric , -n
       Show  numerical addresses instead of trying to determine symbolic host,
       port or user names.

相关内容