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
  • 2
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)
要进行nmap端口扫描并生成xls文件,你可以按照以下步骤进行操作: 1. 首先,使用nmap命令进行端口扫描,并将结果保存为XML文件。例如,可以运行以下命令: nmap -PR -sV -oX lyshark.xml 192.168.1.0/24 这将扫描192.168.1.0/24网段上的主机,并将扫描结果保存为lyshark.xml文件。 2. 将nmap转换脚本nmap-converter.py和nmap扫描输出的XML文件test.xml放在同一个目录下。确保你已经安装了Python环境。 3. 接下来,运行转换脚本来将XML文件转换为XLS文件。你可以使用以下命令: python nmap-converter.py -f test.xml -o test.xls 这将读取test.xml文件并将其转换为test.xls文件。 通过以上步骤,你就可以使用nmap进行端口扫描,并将结果保存为XLS文件。这样,你可以方便地查看和分析扫描结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Nmap 扫描并生成HTML报告](https://blog.csdn.net/lyshark_csdn/article/details/124939256)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [nmap批量扫描(速度快)方法](https://blog.csdn.net/av11566/article/details/125598176)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看着博客敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值