Nmap 端口扫描

简介

端口扫描是Nmap的强项,大多数Nmap应用都是应用于对端口的扫描。
Nmap对端口的扫描有以下几种状态。
  1. Open 端口开放状态
    应用程序正在该端口接收TCP或UDP报文。这也是端口扫描的主要目标。它显示了网络上哪些服务可供使用。
  2. Closed 端口关闭状态
    关闭的端口对于Nmap也是可以访问的,但没有应用程序在其上监听。它可以显示该IP地址上的主机是否在运行,对操作系统探测有帮助。
  3. Filtered 过滤的
    由于包过滤阻止探测报文到达端口,Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备、路由器规则或主机上的软件防火墙。几乎不提供任何信息。过滤器只是丢弃探测帧,不做任何响应,这会迫使Nmap重试若干次以防止探测包由于网络阻塞而被丢弃。从而使扫描速度变慢。
  4. Unfiltered 未被过滤的
    未被过滤状态意味着端口可以访问,但Nmap不确定它是开放还是关闭。只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态。
  5. Open|Filtered
    这种状态是 当前无法确定这个端口是开放还是被过滤的,Nmap就会把端口划分为这种状态。开放的端口不响应就是一个例子 。UDP IP FIN Null Xmas 扫描会把端口归入次类。
  6. Closed|Filtered
    该状态用于Nmap不能确定该端口是关闭的还是被过滤的。它只可能出现在IPID Idle扫描中。

一、时序选项

时序选项主要是控制扫描速度,共有六种。
  • T0 偏执的。非常慢的扫描,用于IDS逃避。
  • T1 鬼崇的。缓慢的扫描,用于IDS逃避。
  • T2 文雅的。降低速度以降低对宽带的消耗,此项一般不常用。
  • T3 普通的。默认扫描,根据目标反应自动调整速度。
  • T4 野蛮的。 快速的扫描,在很好的网络环境进行扫描,请求可能会淹没目标。
  • T5 疯狂的。急速的扫描,这种扫描方式以牺牲准确度来提升扫描速度。
一般情况下使用“T4”扫描方式较多,这种方式比普通扫描速度要快很多,如果扫描速度过快则影响Nmap的判定,可能会遗漏在线的主机或端口。所以“T4”最为适合。
[root@localhost ~]# nmap -T4 IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 13:35 CST
Nmap scan report for IP
Host is up (0.045s latency).
Not shown: 997 filtered ports
PORT     STATE SERVICE
80/tcp   open  http
3306/tcp open  mysql
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 60.72 seconds

二、端口扫描选项

使用“-p” 选项 指定Nmap扫描特定的端口 例如扫描目标22端口。

[root@localhost ~]# nmap -p 22 IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 13:43 CST
Nmap scan report for IP
Host is up (0.00087s latency).

PORT   STATE    SERVICE
22/tcp filtered ssh

Nmap done: 1 IP address (1 host up) scanned in 7.30 seconds

还可以使用“-p”选项指定一个端口范围进行扫描。

[root@localhost ~]# nmap -p 1-3389 IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 13:54 CST
Nmap scan report for IP
Host is up (0.00030s latency).
Not shown: 3386 filtered ports
PORT     STATE  SERVICE
80/tcp   open   http
107/tcp  closed rtelnet
3306/tcp open   mysql

Nmap done: 1 IP address (1 host up) scanned in 172.17 seconds

使用“-p”选项可以指定端口,但有时只想扫描一些常见的端口,如果继续使用“-p”会非常的麻烦。Nmap提供了“-F”选项,可以快速扫描常见的端口,也可以更改nmap-services文件对常见的端口进行自定义添加和删除。

[root@localhost ~]# nmap -F IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 14:01 CST
Nmap scan report for IP
Host is up (0.0041s latency).
Not shown: 98 filtered ports
PORT     STATE SERVICE
3306/tcp open  mysql
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 11.21 seconds

Nmap对端口的扫描顺序是可以被捕捉的,容易被一些防护墙识别为恶意扫描而做出防护,这样就会无法获取端口,但是可以使用“-r”选项扰乱端口扫描顺序。

[root@localhost ~]# nmap -r IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 14:05 CST
Nmap scan report for IP
Host is up (0.0017s latency).
Not shown: 999 filtered ports
PORT     STATE SERVICE
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 47.75 seconds

三、TCP SYN扫描

TCP SYN扫描是一种高频使用的扫描方式,它可以在短短一秒内扫描几千个端口目标,也被称为半开放扫描,因为它不打开一个完全的TCP连接。它发送一个SYN报文,就像真的要打开一个连接,然后等待响应。SYN/ACK表示端口在监听,而RST表示没有监听。如果数次重发后还是没有响应,该端口就会判定为被过滤。如果收到ICMP不可到达的错误同样会被标记为被过滤。

[root@localhost ~]# nmap -sS IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 14:16 CST
Nmap scan report for IP
Host is up (0.022s latency).
Not shown: 994 filtered ports
PORT     STATE  SERVICE
22/tcp   closed ssh
80/tcp   open   http
113/tcp  closed ident
1723/tcp closed pptp
3306/tcp open   mysql
8080/tcp open   http-proxy

Nmap done: 1 IP address (1 host up) scanned in 58.53 seconds

四、TCP ACK扫描

TCP ACK扫描会设置ACK标志位,当目标返回RST报文的时候,Nmap会将目标端口标记为开放的或关闭的端口,但是TCP ACK扫描无法判断目标端口是开放的还是开放|未过滤的状态,这种扫描方式有一定的局限性。

[root@localhost ~]# nmap -sA IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 14:41 CST
Nmap scan report for IP
Host is up (0.00013s latency).
All 1000 scanned ports on 182.92.94.83 are unfiltered

Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds

五、UDP扫描

UDP扫描会发送一个UDP报头到每个端口,如果返回一个UDP报文则判断目标端口为开放状态,如果返回ICMP不可达则表示目标端口是关闭状态。缺点就是扫描速度比较慢。

[root@localhost ~]# nmap -sU IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 14:52 CST
Nmap scan report for IP
Host is up (0.00056s latency).
All 1000 scanned ports on 182.92.94.83 are open|filtered

Nmap done: 1 IP address (1 host up) scanned in 11.00 seconds

六、TCP Null、FIN、Xmas扫描

TCP Null、FIN、Xmas扫描有三个选项分别是

  • -sN ——Null扫描,不放置任何标志位,TCP报头标志是0。
  • -sF ——DIN扫描,只设置TCP FIN标志位。
  • -sX ——Xmas扫描,设置FIN、PSH、URG标志位。
    这些扫描方式可以躲过一些无状态的防火墙和报文过滤器。在进行SYN扫描没有结果的情况下可以尝试这些选项。(比SYN扫描隐蔽)
[root@localhost ~]# nmap -sN IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 14:54 CST
Nmap scan report for IP
Host is up (0.00041s latency).
All 1000 scanned ports on IP are open|filtered

Nmap done: 1 IP address (1 host up) scanned in 4.16 seconds
[root@localhost ~]# nmap -sF IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 15:02 CST
Nmap scan report for IP
Host is up (0.00036s latency).
All 1000 scanned ports on IP are open|filtered

Nmap done: 1 IP address (1 host up) scanned in 13.50 seconds
[root@localhost ~]# nmap -sX IP
Starting Nmap 7.91 ( https://nmap.org ) at 2021-01-22 15:03 CST
Nmap scan report for IP
Host is up (0.00030s latency).
All 1000 scanned ports on IP are open|filtered

Nmap done: 1 IP address (1 host up) scanned in 10.95 seconds

你可能感兴趣的:(渗透测试,linux,渗透测试,安全,网络,nmap)