草帽路飞UU 发表于 2022-12-12 16:09:26

nmap工具的原理你真的了解吗?

一、NMAP工具介绍

  NMAP是一款用于网络发现和安全审计的网络安全工具,它是自由软件。

  可以同时支持TCP、ICMP协议的探测方式,但我们是否只是停留在简单使用,也就是是一知半解。看完这篇文章,大家应该会明白很多。



二、分析nmap

  1、安装二、NMAP工具扫描

  yum install nmap


  2、按照如下方式执行扫描

  nmap -n -sP -PE 192.168.8.0/24

  Warning: You are not root -- using TCP pingscan rather than ICMP

  Starting Nmap 6.47 ( http://nmap.org ) at 2017-11-26 13:41 CST

  Nmap scan report for 192.168.8.198

  Host is up (0.025s latency).

  Nmap scan report for 192.168.8.104

  Host is up (0.00018s latency).

  Nmap scan report for 192.168.8.111

  Host is up (0.024s latency).

  Nmap done: 256 IP addresses (3 hosts up) scanned in 14.67 seconds


  3、参数讲解

  nmap默认使用:

  如果用户使用命令 nmap 9.123.239.101-120进行默认的主机扫描,Nmap 会发送一个 ICMP echo 请求,一个 TCP SYN 包给 443 端口,一个 TCP ACK 包给 80 端口和一个 ICMP 时间戳请求,这就等

价于使用命令 nmap -PE -PS443 -PA80 -PP 9.123.239.101-120

  "-n" 不解析主机名

  “-PE”命令,缺省情况下,Nmap给每个主机发送ping echo包,和多个nmap库中可以探测的TCP syn包,主机对任何一种的响应都会被Nmap得到。

  注:我们会发现在服务端,抓包有很多请求过来,都是用了各种nmap中的数据探测。

  客户端执行:

  nmap -PE 192.168.8.198


  服务端用tcpdump抓包:

  tcpdump -i eth0 src host 192.168.6.54

  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

  listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

  07:42:50.561578 ARP, Request who-has 192.168.8.198 (Broadcast) tell 192.168.6.54, length 46

  07:42:50.621406 IP 192.168.6.54.38994 > 192.168.8.198.https: Flags , seq 1227532920, win 1024, options , length 0

  07:42:50.621418 IP 192.168.6.54.38994 > 192.168.8.198.ddi-tcp-1: Flags , seq 1227532920, win 1024, options , length 0

  07:42:50.621426 IP 192.168.6.54.38994 > 192.168.8.198.h323hostcall: Flags , seq 1227532920, win 1024, options , length 0

  07:42:50.621452 IP 192.168.6.54.38994 > 192.168.8.198.blackjack: Flags , seq 1227532920, win 1024, options , length 0

  07:42:50.621453 IP 192.168.6.54.38994 > 192.168.8.198.netbios-ssn: Flags , seq 1227532920, win 1024, options , length 0

  07:42:50.621461 IP 192.168.6.54.38994 > 192.168.8.198.256: Flags , seq 1227532920, win 1024, options , length 0

  07:42:50.621465 IP 192.168.6.54.38994 > 192.168.8.198.sunrpc: Flags , seq 1227532920, win 1024, options , length 0

  07:42:50.621497 IP 192.168.6.54.38994 > 192.168.8.198.pop3: Flags , seq 1227532920, win 1024, options , length 0



  “-sP” 命令,发送一个arp广播包请求,是ping echo检查,但是不会发包ICMP、TCP协议数据包给服务端,所以非常的轻量。

  nmap -sP 192.168.8.198

  服务端,通过dump抓包发现:

  tcpdump -i eth0 src host 192.168.6.54

  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

  listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

  07:38:46.712390 ARP, Request who-has 192.168.8.198 (Broadcast) tell 192.168.6.54, length 46



  并且在服务端机器上关闭ICMP协议,方式如下:

  echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all


  我们再次执行仍然可以扫描发现主机为up状态,足以说明nmap得ping探测,并非ping命令IMCP协议方式探测。

  $ nmap -sP 192.168.8.0/24

  Warning: You are not root -- using TCP pingscan rather than ICMP

  Starting Nmap 6.47 ( http://nmap.org ) at 2017-11-26 13:41 CST

  Nmap scan report for 192.168.8.198

  Host is up (0.025s latency).


  Nmap scan report for 192.168.8.104

  Host is up (0.00018s latency).

  Nmap scan report for 192.168.8.111

  Host is up (0.024s latency).

  Nmap done: 256 IP addresses (3 hosts up) scanned in 14.67 seconds



  三、结论

  结论1、nmap虽然扫描类型种类多,但作为局域网扫描,我们真正应该掌握的是-sP -PE结合的使用,因为大部分场景已经满足。

  结论2、-sP效率非常的块,比ICMP的协议还快。

  结论3、官方说的ICMP、ping扫描,并不是我们常常理解的ICMP(因为我们常常理解得非常狭义)-sP 比通过ping探测更有效率,-PE比telnet端口探测更有效率。

  这样得结论来看,很多网上得资料描述大都带偏了大家,大爱nmap工具了。

  看完我的文章大家是否有理解!





oliver.tang 发表于 2023-3-8 18:31:41

这似乎是完全测试里面用到的工具
页: [1]
查看完整版本: nmap工具的原理你真的了解吗?