在我的主机上,我运行了一些本地需要的服务,例如 MySQL 和 Apache HTTP Server。我想确保它们不能从其他主机访问。当我nmap localhost
在主机上运行时,上述服务的开放端口按预期显示。当我运行nmap <main host IP address>
在本地 WiFi 网络中的另一台主机上运行时,所有端口都报告为被忽略,这正是我想要的。
如果我能从主机执行所有扫描,那将会很方便,所以我的问题是:是否可以以某种方式运行 nmap,使其显示扫描报告,就像在另一台主机上运行一样 a) 在本地网络内部和/或 2) 外部?
如果重要的话,我的操作系统是 Windows 10。
答案1
尝试nmap
使用网络 IP 地址运行扫描仪(如果您想在本地运行)。
如果您有仅绑定到 localhost/127.0.0.1 地址的服务,则它们将仅显示在nmap
扫描结果中的 127.0.0.1
否则,您可以尝试本地扫描“公共”IP,例如 192.168.xxx.xx...
答案2
假设主机是一台 Linux 机器,你可以创建一个虚拟接口并通过该接口运行扫描。请参阅此处了解 Linux 中可用的虚拟接口类型的概述:Linux 虚拟网络接口简介。
我建议使用一对 veth 接口,您还可以利用命名空间进行隔离。我建议您查看此处以获取指导:如何在不使用环回接口的情况下从主机自身进行端口扫描?
如果你自动化设置,请注意一点:某些服务(如 SSH)可能会绑定到系统上检测到的所有接口。因此,虚拟接口应该在系统服务加载后足够晚地启动。