首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有无-Pn扫描的Nmap差异

有无-Pn扫描的Nmap差异
EN

Network Engineering用户
提问于 2019-11-28 16:45:37
回答 1查看 479关注 0票数 2

我正试图理解put -Pn和not之间NMAP的区别。我知道,如果我没有弄错,-Pn跳过ICMP (ping)扫描。好的..。因此,我尝试扫描一个随机VM并使用tcpdump拦截数据包。Nmap扫描:

1扫描: nmap -p 9000 -Pn myIP ->结果: open 9000

2扫描: nmap -p 9000 myIP ->结果: open 9000

数据包拦截:

用-Pn扫描没关系,不包括任何ICMP数据包,但另一个扫描,为什么它要检查120,443和80端口,当我说明确检查9000?

编辑:

好吧,关于你在第一篇文章@YLearn中说的话:

我想试着更好地理解-Pn标志和探索主机-with的使用,在更多的测试中只使用一个标志PS443。但却给出了意想不到的结果。

试图启动以下命令

"nmap -sS -PS443 IPscan“结果主机关闭。上面写着

注意:主机似乎在下降。如果它真的升起来了,但是阻止了我们的pings探针,请尝试-Pn

主机我可以确保它是打开的。使用tcpdump,我只从IP检索一个数据包地址到IPscan,其中包含"IP date myIP> IPScan: IPScan S“。也就是说,带有SYN标志活动的TCP数据包。那因为它让我觉得,如果没有平探针的话,平探针可以阻止扫描,对吧?PS刚刚激活SYN标志..。

好的,那么在另一个扫描中,尝试使用-Pn。并获得主机已启动(完美)和端口443过滤。好吧。但是,使用tcpdump捕获的包类型与以前完全相同。不明白..。:(

EN

回答 1

Network Engineering用户

发布于 2019-11-29 06:31:44

用-Pn扫描没关系,不包括任何ICMP数据包,但另一个扫描,为什么它要检查120,443和80端口,当我说明确检查9000?

首先,在您提供的输出中没有检查120个端口( TCP或UDP),因此我将不给出答案。此外,我假设您显示的捕获只在一个方向(而不是两个方向)捕获流量,因为只有当有未见的响应通信量(并且您指示Nmap显示TCP/9000打开)时,才有意义。

至于剩下的事情,你要做两次扫描。

进行nmap -p 9000 -Pn myIP的第一次扫描会导致从NMAP主机发送两个数据包,即TCP和TCP。显然,您只捕获了一个方向的流量,但扫描完成显示端口9000打开。

这将从捕获到的七个数据包从第二次扫描开始。在你的第二次扫描中,你会做nmap -p 9000 myIP,这只是通过省略-Pn来区别的。那旗子有什么变化?如果检查nmap.org文档,则-Pn选项将禁用主机发现,并对每个指定主机运行端口扫描。

深入研究一下在文件中,如果没有指定其他发现技术,您将发现默认主机发现过程的这种描述:

如果没有选择任何这些主机发现技术,则Nmap将使用与Windows或特权(根) Unix用户的-PE -PS443 -PA80 -PP参数等效的默认值。细心的读者知道,这意味着向每台计算机发送ICMP回送请求、TCP SYN数据包、TCP ACK数据包和ICMP时间戳请求。

在捕获的最后七个数据包中,前四个是ICMP回送(-PE)、timestamp /443 (-PS443)、TCP到TCP/80 (-PA80)和ICMP时间戳请求(-PP)。这与Nmap文档中描述的主机发现的默认操作相匹配。

最后三个数据包是TCP RST,用于先前的SYN连接到TCP/443,然后由于主机发现过程发现目标处于联机状态,端口扫描SYN和RST以获取TCP/9000。

如果您的tcpdump过滤器是在两个方向捕获流量,您也会看到响应流量。

编辑新问题(请提出新问题作为将来的新问题)

我想试着更好地理解-Pn标志和探索主机-with的使用,在更多的测试中只使用一个标志PS443。但却给出了意想不到的结果。

我认为这是预期的结果。

主机我可以确保它是打开的。使用tcpdump,我只从IP检索一个数据包地址到IPscan,其中包含"IP date myIP> IPScan: IPScan S“。也就是说,带有SYN标志活动的TCP数据包。那因为它让我觉得,如果没有平探针的话,平探针可以阻止扫描,对吧?PS刚刚激活SYN标志..。

因此,运行nmap -T2 -sS -PS443 -p 443 <host>的第一个命令表明主机已关闭,不执行端口扫描。

您的第二个命令包含答案nmap -T2 -sS -Pn -PS443 -p 443 <host>。这里唯一的区别是添加了-Pn标志,它完全禁用主机发现,并假定所有目标主机都已打开。当它运行端口扫描时,它会显示"443/tcp筛选“作为响应。

因此,您的第一个命令显式地告诉Nmap只对TCP/443进行TCP SYN扫描,以进行主机发现。因为第二个命令显示TCP/443没有打开,所以第一个命令尝试这个发现方法,当它没有收到预期的响应时,主机发现会将主机标记为down。

正如我在评论中指出的,-Pn标志最初是在ICMP作为主机发现机制时添加的。由于ICMP被越来越多地过滤(虽然这在技术上违反了ICMP RFCs,但通常被认为是一种最佳做法),因此添加了其他主机发现机制。对-Pn的功能进行了调整,使其包括任何形式的主机发现,而不仅仅是ICMP。

虽然在-Pn中多次引用ICMP或ping,但我前面提到的文件-Pn有如下描述:

另一种选择是完全跳过Nmap发现阶段。通常,Nmap使用这个阶段来确定主动机器以进行更重的扫描。默认情况下,Nmap只执行大量探测,如端口扫描、版本检测或对被发现已启动的主机进行OS检测。禁用带有-Pn选项的主机发现会导致Nmap尝试针对指定的每个目标IP地址执行请求的扫描功能。

票数 3
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/63785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档