端口扫描 - Nmap - 隐蔽扫描

古城微笑少年丶 2022-04-16 02:53 972阅读 0赞

0x00:简介

除了使用 scapy 的 tcp 包根据返回了 flags 来判断端口是否开放外,nmap 也可以去做端口扫描,隐蔽扫描主要用到的参数是 sS,如果不加 sS 参数,nmap 默认也会使用 tcp 去发 SYN 来根据返回的结果做判断。nmap 的 sS 文档说明如下:

请输入图片描述

0x01:nmap sS

格式是:nmap -sS 1.1.1.1 -p 端口,这个端口可以写成范围的形式,如下:

请输入图片描述

第二种格式是多个不同的端口,用逗号分隔,如下:

请输入图片描述

默认是不管 open 的还是 closed 的,都会显示,如果只想显示 open 的结果,可以通过 —open 参数来进行筛选,如下:

请输入图片描述

如果是全端口扫描,除了用 1-65535,也可以用 - 来表示:nmap -sS 1.1.1.1 -p- —open。

如果有多个 ip 需要进行端口扫描,可以把 ip 放到 txt 文件中,nmap 使用 iL 参数指定即可,如下,文件放了四个 ip,分别是 101、102、103、104,其中 103 是没在线的,只有 101 开了端口,结果如下:

请输入图片描述

以上 nmap 通过 sS 参数扫描过程 wireshark 抓包如下:

请输入图片描述

可以看到,发过去的是 tcp syn,红色是返回的信息,rst ack 则代表端口关闭的状态。

0x02:总结

nmap 很强大,二层发现和三层发现都是 sn 参数,sn 参数只做发现不做端口探测,且是使用二层 arp 协议还是三层 icmp 取决于是否和目标在同一个网段。在四层发现时主要使用的是 PA、PU 参数,协议主要是 tcp 和 udp。

上次的 udp 端口扫描参数是 sU,这次的 tcp 端口扫描参数是 sS。四层的 PA、PU 容易和 sU、sS 搞混。四层使用 PA 和 PU 是做的主机发现,带了 sn 参数,也就是并没有做端口扫描,只是指定一个端口,然后根据端口返回的信息来判断主机是否在线。而端口发现的 sU 和 sS 没有 sn,也没有去扫一个端口,而是指定的自己需求的端口。

可以说四层发现是利用端口扫描来判断主机是否在线的,四层在利用了一个端口根据返回结果判断出了主机是否在线,当在线时,然后使用端口扫描参数再进行扫描。这块容易搞混,不要误解。


公众号推荐:aFa攻防实验室

  1. **分享关于信息搜集、Web安全、内网安全、代码审计、红蓝对抗、JavaPython等方面的东西。**
  2. ![20191220230427373.jpg][]

发表评论

表情:
评论列表 (有 0 条评论,972人围观)

还没有评论,来说两句吧...

相关阅读

    相关 UDP 端口扫描 - Nmap

    0x00:简介 nmap 在二层做主机发现时使用的参数是 sn(ping 扫描,不做端口扫描)。在三层做主机发现时也是使用的 sn 参数,这里二三层都用的 sn 参数,而

    相关 端口扫描 - Scapy - 隐蔽扫描

    0x00:简介 端口扫描可分为三种,分别是隐蔽扫描、全链接扫描、僵尸扫描。 隐蔽扫描:像服务器发起的请求不会经历完整的三次握手,首先会向目标服务器进行第一次握手,发送一