分享

端口扫描之王一一NMAP的使用

 常有理 2020-05-10

NMAP相信各位同学,或多或少的都听说过。NMAP的作用就是用来扫描端口的,它的称号就是“端口扫描之王”。 网络工程师用它来测试网络,黑客、安全人员用来检测网络安全性。

端口扫描之王一一NMAP的使用

下面,我们来看看NMAP具体的使用参数。

语法
nmap [扫描类型] [扫描参数] [hosts 地址与范围]

扫描类型

  1. -sT TCP connect() 扫描,这是最基本的 TCP 扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。
  1. -sS TCP 同步扫描 (TCP SYN),因为不必全部打开一个 TCP 连接,所以这项技术通常称为半开扫描 (half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要 root 权限来定制 SYN 数据包。
  1. -sF,-sX,-sN 秘密 FIN 数据包扫描、圣诞树 (Xmas Tree)、空 (Null) 扫描模式。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应 RST 包,而打开的端口必需忽略有问题的包(参考 RFC 793 第 64 页)。
  1. -sP ping 扫描,用 ping 方式检查网络上哪些主机正在运行。当主机阻塞 ICMP echo 请求包是 ping 扫描是无效的。nmap 在任何情况下都会进行 ping 扫描,只有目标主机处于运行状态,才会进行后续的扫描。
  1. -sU UDP 的数据包进行扫描,如果你想知道在某台主机上提供哪些 UDP(用户数据报协议,RFC768) 服务,可以使用此选项。
  1. -sA ACK 扫描,这项高级的扫描方法通常可以用来穿过防火墙。
  1. -sW 滑动窗口扫描,非常类似于 ACK 的扫描。
  1. -sR RPC 扫描,和其它不同的端口扫描方法结合使用。
  1. -b FTP 反弹攻击 (bounce attack),连接到防火墙后面的一台 FTP 服务器做代理,接着进行端口扫描。

扫描参数

-P0 在扫描之前,不 ping 主机。

-PT 扫描之前,使用 TCP ping 确定哪些主机正在运行。

-PS 对于 root 用户,这个选项让 nmap 使用 SYN 包而不是 ACK 包来对目标主机进行扫描。

-PI 设置这个选项,让 nmap 使用真正的 ping(ICMP echo 请求)来扫描目标主机是否正在运行。

-PB 这是默认的 ping 扫描选项。它使用 ACK(-PT) 和 ICMP(-PI) 两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙。

-O 这个选项激活对 TCP/IP 指纹特征 (fingerprinting) 的扫描,获得远程主机的标志,也就是操作系统类型。

-I 打开 nmap 的反向标志扫描功能。

-f 使用碎片 IP 数据包发送 SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。

-v 冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。

-S <IP> 在一些情况下,nmap 可能无法确定你的源地址 (nmap 会告诉你)。在这种情况使用这个选项给出你的 IP 地址。

-g port 设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为 DNS(53) 或者 FTP-DATA(20) 的包通过和实现连接。显然,如果攻击者把源端口修改为 20 或者 53,就可以摧毁防火墙的防护。

-oN 把扫描结果重定向到一个可读的文件 logfilename 中。

-oS 扫描结果输出到标准输出。

--host_timeout 设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制。

--max_rtt_timeout 设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约 9000 毫秒。

--min_rtt_timeout 设置 nmap 对每次探测至少等待你指定的时间,以毫秒为单位。

-M count 置进行 TCP connect() 扫描时,最多使用多少个套接字进行并行的扫描。

端口扫描之王一一NMAP的使用

端口状态

Open(开放的)意味着目标机器上的应用程序正在该端口监听连接 / 报文。

filtered(被过滤的) 意味着防火墙,过滤器或者其它网络障碍阻止了该端口被访问,Nmap 无法得知 它是 open(开放的) 还是 closed(关闭的)。

closed(关闭的) 端口没有应用程序在它上面监听,但是他们随时可能开放。

unfiltered(未被过滤的)当端口对 Nmap 的探测做出响应,但是 Nmap 无法确定它们是关闭还是开放时

open filtered 开放或者被过滤的

closed filtered 关闭或者被过滤的

示例

nmap localhost #查看主机当前开放的端口

nmap -p 1024-65535 localhost #查看主机端口(1024-65535)中开放的端口

nmap -PS 192.168.21.163 #探测目标主机开放的端口

nmap -PS22,80,3306 192.168.21.163 #探测所列出的目标主机端口

nmap -O 192.168.21.163 #探测目标主机操作系统类型

nmap -A 192.168.21.163 #探测目标主机操作系统类型

nmap --help #更多nmap参数请查询帮助信息

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多