为了账号安全,请及时绑定邮箱和手机立即绑定

作网络探测,你可真正了解nmap工具的原理?

标签:
Python Linux

一、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 [S], seq 1227532920, win 1024, options [mss 1460], length 0

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

07:42:50.621426 IP 192.168.6.54.38994 > 192.168.8.198.h323hostcall: Flags [S], seq 1227532920, win 1024, options [mss 1460], length 0

07:42:50.621452 IP 192.168.6.54.38994 > 192.168.8.198.blackjack: Flags [S], seq 1227532920, win 1024, options [mss 1460], length 0

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

07:42:50.621461 IP 192.168.6.54.38994 > 192.168.8.198.256: Flags [S], seq 1227532920, win 1024, options [mss 1460], length 0

07:42:50.621465 IP 192.168.6.54.38994 > 192.168.8.198.sunrpc: Flags [S], seq 1227532920, win 1024, options [mss 1460], length 0

07:42:50.621497 IP 192.168.6.54.38994 > 192.168.8.198.pop3: Flags [S], seq 1227532920, win 1024, options [mss 1460], 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工具了。

看完我的文章大家是否有理解,没关系,大家可以关注我,随时和我互动!

我的地址是http://www.imoocc.com

请点击此处输入图片描述

点击查看更多内容
4人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消