为什么 `nmap 192.168.1.97` 返回的服务少于 `nmap 127.0.0.1`?

Tim*_*Tim 7 nmap ip-address loopback

根据https://networkengineering.stackexchange.com/a/57909/,发送到 192.168.1.97 的数据包“不会离开主机,但被视为从网络收到的数据包,地址为 192.168.1.97”。与发送数据包以环回 127.0.0.1 相同。

为什么nmap 127.0.0.1返回的服务比nmap 192.168.1.97

是否nmap 127.0.0.1也必须返回由 返回的那些服务nmap 192.168.1.97?监听 at 的服务器192.168.1.97一定也监听127.0.0.1

$ nmap -p0-65535 192.168.1.97

Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-23 19:18 EDT
Nmap scan report for ocean (192.168.1.97)
Host is up (0.00039s latency).
Not shown: 65532 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
3306/tcp  open  mysql
33060/tcp open  mysqlx

Nmap done: 1 IP address (1 host up) scanned in 9.55 seconds

$ nmap -p0-65535 localhost

Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-23 19:18 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00033s latency).
Other addresses for localhost (not scanned):
Not shown: 65529 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
631/tcp   open  ipp
3306/tcp  open  mysql
5432/tcp  open  postgresql
9050/tcp  open  tor-socks
33060/tcp open  mysqlx

Nmap done: 1 IP address (1 host up) scanned in 5.39 seconds
Run Code Online (Sandbox Code Playgroud)

谢谢。

Joh*_*ohn 8

简而言之,它们是两个不同的接口(192.168.1.97 与 127.0.0.1),并且可能应用了不同的防火墙规则和/或服务侦听。在同一台机器上意味着相对较少。


Kus*_*nda 7

不,侦听外部接口上的端口的服务不一定也侦听localhost.

你可以用类似的东西来测试这个

nc -l external-ip-address port-number
Run Code Online (Sandbox Code Playgroud)

然后nmap针对运行localhost,然后针对外部 IP 地址运行。


plu*_*ash 6

为什么 nmap 127.0.0.1 返回的服务比 nmap 192.168.1.97 多?

因为为了提高安全性,许多服务默认配置为仅侦听 127.0.0.1(和/或 IPv6 等效 ::1)

在 192.168.1.97 侦听的服务器是否也必须在 127.0.0.1 侦听?

通常一个服务可以创建一个监听套接字来监听。

  1. 一个特定的 IP,例如一个侦听套接字将只接受发往该特定 IP 的流量。
  2. 0.0.0.0 ,这将接受分配给机器的所有 IPv4 IP 的流量。
  3. :: 这将接受分配给机器的所有 IPv6 IP 的流量。它可能接受也可能不接受发往机器上 IPv4 IP 的流量,具体取决于特定的操作系统、系统范围的配置和特定于套接字的选项。