Nmap主机扫描学习笔记

测试环境: linux 3.x
Nmap版本: 7.01

扫描单个目标

扫描单个主机的语法格式为nmap [目标]
实例:

1
2
3
4
5
6
7
8
9
10
11
12
$ nmap localhost

Starting Nmap 7.01 ( https://nmap.org ) at 2019-07-10 16:32 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000093s latency).
rDNS record for 127.0.0.1: localhost.localdomain
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
999/tcp open garcon
1022/tcp open exp2
3306/tcp open mysql

扫描多个目标

命令行中分别指定

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
root@localhost:~# nmap 192.168.1.1 192.168.1.101 192.168.1.105
Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-05 19:07 CST
Nmap scan report for localhost (192.168.1.1)
Host is up (0.00094s latency).
Not shown: 997 closed ports
PORT       STATE SERVICE
80/tcp             open  http
1900/tcp          open  upnp
49152/tcp         open  unknown
Nmap scan report for localhost (192.168.1.101)
Host is up (0.0060s latency).
All 1000 scanned ports on localhost (192.168.1.101) are closed
Nmap scan report for localhost (192.168.1.105)
Host is up (0.00038s latency).
Not shown: 995 closed ports
PORT   STATE SERVICE
21/tcp      open  ftp
22/tcp       open  ssh
23/tcp      open  telnet
111/tcp    open  rpcbind
445/tcp    open  microsoft-ds
Nmap done: 3 IP addresses (3 hosts up) scanned in 1.00 seconds

Nmap 就会分别报告扫描的结果.

逗号分隔

使用简化符号来减少命令的长度.

1
nmap 192.168.1.1,101,105

这与上一个示例中的命令等效

目标列表

当有大量主机需要扫描时, 可以将目标IP地址写入进一个文本文件中.
语法 : nmap -iL [文件路径]

范围扫描

指定扫描范围时, 可以通过IP地址或子网的方式来实现.

IP地址指定扫描范围

语法 : nmap [IP地址范围]

  • 示例一 : 扫描192.168.1.1-192.168.1.100之间的所有主机

    1
    nmap 192.168.1.1-100
  • 示例二 : 扫描C类IP网络192.168.1.*到192.168.100.*之间的所有主机

    1
    nmap 192.168.1-100.*

星号*是通配符, 表示0-255之间所有有效的主机.

子网扫描

Nmap也可以使用CIDR(无类别域间路由,Classless Inter-Domain Routing)格式来扫描整个子网。CIDR将多个IP网络结合在一起,使用一种无类别的域际路由选择算法,可以减少由核心路由器运载的路由选择信息的数量。其中,语法格式如下所示:
nmap [CIDR格式的网络地址]

示例 : 扫描192.168.1.1/24整个子网中的所有主机

1
nmap 192.168.1.1/24

排除扫描目标

当我们指定范围扫描的时候, 可能会把自己的IP地址包含在内, 如果出于种种原因不想扫描这些目标, 可以将它们排除.
语法 : nmap [目标] --exclude [目标]

简单参数

  • -p[a-b] : 指定扫描端口a至b(a b均小于65535)
  • -p- : 扫描全部端口.
  • -sP : Ping扫描。 仅仅 进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机.
  • -sT : TCP connect()扫描。当Nmap连接,然后不发送数据就关闭连接.
  • -sV : 探测service版本.
  • -O -v : 详细的操作系统探测.

参考资料