[英]How does netstat determine symbolic hostname?
我试图了解netstat的--numeric
/ -n
标志做什么? 手册说以下关于--numeric
/ -n
-数字,-n
显示数字地址,而不是尝试确定符号主机,端口或用户名。
以下是带有“ -n”选项的输出行
tcp 0 0 :::8080 :::* LISTEN -
以下是与A中相同的行,但没有“ -n”选项
tcp 0 0 *:terabase *:* LISTEN -
在我的情况下,端口8080与solr相关联。 我不知道为什么它被列为terabase。 这就是为什么我想知道netstat如何确定符号主机。 如果有人可以对此有所启发,将很有帮助。
我相信您正在混合端口和主机 。
符号主机由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往返需要时间...!
干杯,
请注意,您正在查看的是端口映射,而不是主机映射。 在/ etc / services文件或在/etc/nsswitch.conf中配置的其他数据库中查找端口号
您有一个/ etc / services for terabase条目,将其映射到端口/协议。
(terabase通常会映射到端口4000,因此,您的/ etc / services会将其映射到端口8080,或者您正在查找的行是端口4000,而不是您假设的端口8080)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.