netstat如何确定符号主机名?

时间:2015-05-12 20:09:48

标签: linux unix networking tcp netstat

我试图了解netstat的--numeric / -n标志是做什么的?手册中说明了以下关于--numeric / -n

的内容
  

- 数字,-n

     

显示数字地址,而不是尝试确定符号主机,端口或用户名。

  1. 以下是一行输出" -n"选项

    tcp  0  0 :::8080    :::*   LISTEN      -
    
  2. 以下是与A中相同的行,但没有" -n"选项

    tcp  0  0 *:terabase *:*    LISTEN      -
    
  3. 在我的情况下,

    端口8080与solr相关联。我不知道为什么它被列为terabase。这就是为什么我想知道netstat如何确定符号主机。如果有人可以对此有所了解,那将会很有帮助。

2 个答案:

答案 0 :(得分:2)

我相信你正在混合端口主机

符号主机由DNS查找确定,而端口使用是您在/etc/services中找到的(为什么您有端口8080的teradata我不知道 - 它'通常是http-alt - 但是去看看)

所以,例如-n可以

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN

意味着正在侦听IP 127.0.0.1上的端口5432。没有-n,它将是

tcp        0      0 localhost:postgresql    *:*                     LISTEN

这使我们更加明智,因为我们现在可以在localhost上看到它的PostgreSQL。

该信息的价格是DNS往返需要时间......!

干杯,

答案 1 :(得分:0)

请注意,您正在查看端口映射,而不是主机映射。 在/ etc / services文件或/etc/nsswitch.conf中配置的其他数据库中查找端口号

您有terabase的条目/ etc / services,将其映射到端口/协议。

(terabase通常会映射到端口4000,因此以太/ / etc / services将其映射到端口8080,或者您正在查看的线路用于端口4000而不是端口8080,如您所愿)。