为什么 Nmap 无法绑定我的源 IP?

为什么 Nmap 无法绑定我的源 IP?

我尝试使用以下 IP 欺骗命令执行 Nmap 扫描:

nmap -e eth0 -S 1.2.3.4 192.168.200.130

1.2.3.4我想要使​​用的源 IP 在哪里192.168.200.130?这是我的 metasploitable 机器的 IP 地址

但我一直收到这个错误:

NSOCK ERROR [0.1190s] mksock_bind_addr(): Bind to 1.2.3.4:0 failed
(IOD #1): Cannot assign requested address (99)

我可以说 IP 欺骗不起作用,因为我尝试在 wire-shark 上验证它。

从附图可以清楚的看到系统依然使用kali机器原有的IP地址,而不是1.2.3.4

附图

我该如何解决这个问题?我似乎没有找到任何明确的解决方案。我知道该命令有效,因为我正在尝试遵循教程。

答案1

有多种原因导致这在多个层面上无法实现。

首先:
您没有-Pn按照手册中的建议指定 。然后,您尝试使用 TCP 扫描类型(默认-sS)。此外,您的 PC 不拥有 IP 地址,这意味着您需要原始套接字。目前尚不清楚您是否使用了sudo运行命令时。

第二:
如果你欺骗源地址,响应流量将不会返回到你的电脑。它将转到选定的欺骗地址(1.2.3.4)。这意味着你不能扫描目标,但充其量只是骚扰他们。手册中也提到了这一点。即使您在同一网络上选择了另一个地址,我怀疑 nmap 是否会参与 ARP/NDP。

欺骗地址只能在特定要求下工作(即,您能够以某种方式捕获响应流量,例如使用交换机镜像端口等)。

第三:
通过路由器,甚至在互联网上,这种方法都行不通:路由器不知道将响应流量导向何处,只能将其丢弃。路由器对源地址的要求也可能很严格。

相关内容