计算机 · 2022年11月14日 0

nmap

nmap说明手册

命令格式

nmap [<扫描类型>...] [<选项>] [<扫描目标说明>]

nmap的作用

可以扫描网络中的主机,获取主机提供的服务(端口),主机的操作系统信息。

端口的状态可能是:

  • open 机器正在该端口运行服务
  • filtered 防火墙阻止了该端口被访问
  • closed 机器没有监听该端口
  • unfiltered 端口可访问,但是nmap不确定服务是关闭还是开放
  • open|filtered,开放或者过滤的,无法确定端口是开放的还是被过滤的;
  • closed|filtered,nmap不确定端口是关闭的还是被过滤的

典型示例:

对scname.nmap.org和playground这两台主机进行端口扫描。

nmap -A -T4 scanme.nmap.org playground

目标说明

nmap命令行上所有不被识别为选项的字符都被认为是将要进行端口扫描的目标。

目标可以是:

  1. ip地址
  2. 主机名
  3. CIDR风格的地址,如192.168.10.0/24将会扫描192.168.10.0-192.168.10.255之间的所有256台主机;
  4. scanme.nmap.org/16代表扫描205.217.0.0至205.217.255.255之间的65536个IP地址;
  5. 192.168.0-255.1-254表示扫描192.168.0.0/16以内但是略过以.0和.255结束的IP地址;
  6. IPv6地址只能使用规范的IPv6地址或主机名。CIDR和八位字节范围不支持IPv6,即对于IPv6地址不能使用上面的3、4、5这几种表示地址的方法来指明要扫描的主机;

指定扫描目标时还可以使用下面几个选项:

  1. -iL <inputfilename> 通过文件内容来输入要扫描的目标。
  2. -iR <hostnum> 随机扫描机器,-iR 0则表示永无休止的扫描。如nmap -sS -PS80 -iR 0 -p 80用于随机找开启了http服务的机器
  3. --exclude <host1[, host2][, host3], ...> 扫描目标中排除这些机器
  4. --excludefile <excludefile> 通过文件内容来排除要扫描的机器

主机发现

对一堆目标进行扫描时,可以通过主机发现这个步骤来排除那些不在线的机器,节约时间。

  • -sL ,不向主机发送任何报文,仅通过主机名或域名来获取相关信息;
  • -sP,只做ping扫描(主机发现),然后打印对ping做出响应的那些主机,没有进一步的测试(如端口扫描等)。
  • -P0,禁用ping扫描。默认情况下nmap只会对通过了主机发现阶段的目标主机做进一步的端口扫描、版本探测,而禁用ping扫描则会导致nmap对每一个目标主机都做这些高强度的扫描。
  • -PS [portlist],TCP SYN Ping,通过对目标机器的指定端口(默认是80)发送TCP SYN包来实现主机发现。可以指定多个端口,端口间用逗号隔开。
  • -PA [portlist],TCP ACK Ping,通过发送TCP的ACK包(设置TCP包的ACK标志位而不是SYN标志位)来实现主机发现。用这种发ack包的方式来实现主机发现的原因是防火墙可能会封锁SYN包,但是不一定会封锁ack包。为了尽最大可能发现在线的机器,可以同时指定-PS和-PA两个选项,既发SYN又发ACK。
  • -PU [portlist],通过发送一个空的UDP包来实现端口发现,默认端口是31338。
  • -PE; -PP; -PM,ICMP Ping Types,-PE表示普通的ICMP回声请求,-PP表示时间戳请求,-PM表示地址掩码查询请求。管理员可能会封锁普通的回声请求报文,但是可能忘记封锁后面两种ICMP请求。
  • -PR,ARP Ping,即使指定了其他的主机发现方式,nmap也默认对局域网内的机器作ARP扫描,即通过ARP协议判断局域网内的机器是否在线。如果真的不想要使用ARP扫描,用–send-ip关掉。
  • -n,不对活动的ip地址作反向域名解析。因为DNS一般比较慢,这可以节约时间。
  • -R,为所有目标机器作反向域名解析。
  • --system-dns,使用系统域名解析器。使用机器上的域名解析服务,而不是通过发送查询到运行nmap命令主机上配置的域名服务器来解析域名。这个选项一般不用,没有nmap直接向域名服务器查询快。

端口扫描技术

端口说明和扫描顺序

服务和版本探测

操作系统探测

时间和性能

为什么需要nmap

没有显示器,找不到自己macmini的ip地址,公司分配给macmini的地址还老是变。。。

文档出处

https://nmap.org/man/zh/index.html