![`nmap -p0-65535 0.0.0.0` 是否扫描本地主机上的所有 IP 地址?](https://linux22.com/image/150573/%60nmap%20-p0-65535%200.0.0.0%60%20%E6%98%AF%E5%90%A6%E6%89%AB%E6%8F%8F%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%9C%BA%E4%B8%8A%E7%9A%84%E6%89%80%E6%9C%89%20IP%20%E5%9C%B0%E5%9D%80%EF%BC%9F.png)
扫描nmap -p0-65535 0.0.0.0
所有 tcp 端口任何本地主机上的 IP 地址的数量,因此报告在任何本地 IP 地址(包括 192.168.1.97 和 127.0.0.1)的 tcp 端口上侦听的服务?
$ nmap -p0-65535 0.0.0.0
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-24 17:48 EDT
Nmap scan report for 0.0.0.0
Host is up (0.00066s latency).
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.40 seconds
似乎输出一个并集
$ nmap -p0-65535 localhost
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-24 17:48 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 4.50 seconds
$ nmap -p0-65535 192.168.1.97
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-24 17:49 EDT
Nmap scan report for ocean.fios-router.home (192.168.1.97)
Host is up (0.00036s 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
谢谢。
答案1
不会。当nmap
扫描多个 IP 地址时,它会显示单独的端口列表。它不会合并来自不同 IP 地址的结果。比较nmap 127.0.0.1-2
(或)的结果nmap 127.0.0.1 127.0.0.2
。
nmap 0.0.0.0
相当于nmap 127.0.0.1
.至少对于您正在使用的软件来说是这样。
请记住,当您nmap
以root
用户身份运行时,它默认使用不同的扫描方法。例如,这就是允许它扫描“端口 0”的原因。然而,当不以 root 身份运行时,“Nmap 要求底层操作系统通过发出 connect 系统调用来与目标计算机和端口建立连接”。
重点是,我忘记了这个区别:-),所以我去追踪你使用的操作系统,即 Linux。这个我以前看过,哈哈此行为不属于 Linux 官方文档的一部分。一般来说,您应该更喜欢使用127.0.0.1
,它在 IPv4 的所有实现中都有记录并成为标准。
if (!fl4->daddr) {
fl4->daddr = fl4->saddr;
if (!fl4->daddr)
fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK);
dev_out = net->loopback_dev;
fl4->flowi4_oif = LOOPBACK_IFINDEX;
res->type = RTN_LOCAL;
flags |= RTCF_LOCAL;
goto make_route;
}
这表明在 Linux 上,nmap -sT 0.0.0.0
相当于nmap -sT 127.0.0.1
.
此外,nmap -sT 0.0.0.0 -S 192.168.1.97
相当于nmap -sT 192.168.1.97
:-)。 (假设您的IP地址是192.168.1.97)。如果您已经读到这里,您不妨自己尝试一下:-)。
同样,当以 root 身份运行时,默认扫描类型将不是使用操作系统调用 connect() 连接到每个 TCP 端口。相反,nmap 将“发送和接收原始 TCP 数据包”。所以你完全依赖nmap代码来生成数据包并做出自己的决定。 nmap 可能不会生成与操作系统相同的数据包。因此sudo nmap 0.0.0.0 -S 192.168.1.97
可能不会给出与 相同的结果sudo nmap 192.168.1.97
。不过也许可以。我不知道,我没试过。