为什么端口仅以netstat的特定格式列出?

我有Tomcat,我试图绑定到2个特定的端口(使用自定义连接器)。 如端口A和端口B
问题:
当我做netstat -a |grep A没有看到列出的端口。
如果我做netstat -antp我看到列出的端口AB

这些命令有什么区别?

-n选项是不同的。 没有它, netstat会将诸如3306和80等已知端口转换成诸如mysql和http等名称。

如果A是知名端口, B不是,则只有一个端口将被第一个命令列出。

如果一个端口是众所周知的,它应该被列在/etc/services

通过指定-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.