Netstat本地地址栏的含义

Netstat本地地址栏的含义

当我这样做时,netstat -ntlp会有一个名为Local Address

  • 有时它会输出 IP 地址为0.0.0.0:7180
  • 有时127.0.0.1:9001

这两种符号的含义是什么?

特定 IP 地址是否充当传入连接的过滤器?例如,127.0.0.1:9001它只接受来自端口 9001 上的本地主机的连接?

答案1

我想你已经回答了你自己的问题。

例如,apache它有Listen一个选项告诉它要侦听哪个地址和端口。根据设置方式,apache将侦听任何 IP 地址、特定地址:-

Listen *:80
Listen 0.0.0.0:80
Listen 127.0.0.1:80
Listen 192.168.0.5:80

上述选项显示为:-

:::80
0.0.0.0:80
127.0.0.1:80
192.168.0.5:80

并翻译为:-

  • 侦听任何 IP 地址(IPv4 或 IPv6)
  • 侦听该服务器上的任何 IPv4 地址
  • 仅在 IPv4 本地主机上侦听
  • 监听外部 IPv4 地址 192.68.0.5

localhost如果您不希望外部任何人访问它,您可以将您的服务配置为仅侦听该接口。例如,如果您正在运行 LAMP 服务器,您将apache侦听所有 IP 地址(以便您的用户可以访问它),而mysql数据库可以配置为只能从localhost(使用它的bind=127.0.0.1指令)访问。这样,php在同一服务器上运行的用户将能够访问数据库,而外部(和不受信任的)用户将无法访问它。

答案2

127.0.0.1 和 0.0.0.0

127.0.0.1表示本地接口或环回地址。只能从您的本地主机访问。

0.0.0.0是每个接口的通配符地址。

Onnetstat -ntlp Local Address表示“打印活动侦听 tcp 连接,将 IP 显示为数值,并显示使用此连接的程序的 PID 和名称。”


举例说明差异

例如,如果我有

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name                 
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1189/prog1
tcp        0      0 0.0.0.0:6666            0.0.0.0:*               LISTEN      1188/prog2

这意味着:

prog1具有 PID 的服务使用 protocol1189侦听端口。它只能从您的本地主机访问。53tcp

prog2具有 PID 的服务使用 protocol1189侦听端口。允许该计算机所属的所有网络上的任何其他计算机访问此端口。6666tcp

资料来源:1 2 3

答案3

0.0.0.0表示该进程绑定到所有接口。

127.0.0.1表示进程仅绑定到127.0.0.1接口(环回)。

如果您有其他接口,您可能会有x.y.z.a指示该进程绑定到这些特定接口的条目。

仅当流量到达其绑定的接口时才会通知进程,因此,是的,它是一种过滤器,尽管通常不会用这些术语进行描述。

答案4

正如您所说,本地主机的 IP 只接受本地这些端口的连接,而 IP0.0.0.0指对所有人开放的端口。

例如

当地的

127.0.0.1:8307 VMWARE
127.0.0.1:25   MASTER

致所有人

0.0.0.0:80    HTTP
0.0.0.0:443   SKYPE

相关内容