Nmap为什么这么强大?
made by tdcoming!
1.概述
大家都知道,使用我们的nmap真尼玛强大,从发现主机,到端口探测,到服务发现,漏洞利用等等,无所不能。在信息收集方面可谓是不可缺少的神器。那么我们namp为什么这么强大,今天我们就来一起探究下。
2.nmap主机发现
首先介绍nmap的主机发现
nmap --help #查看nmap的一些使用参数,下图为主机发现参数
- 列表内容 nmap -sL #把网络中可以进行扫描的主机列举出来,不进行扫描,没啥讲的
只是简单的向本机的DNS进行一些地址解析(说明我的主机的IP是:192.168.1.188)
nmap -sL 192.168.1.1/24 #sL使用
- nmap -sn #进行ping探测,不进行端口扫描
nmap -sn 192.168.1.1 /24 #sn的使用
执行结果如下:
发现了15台活着的主机,我们使用wireshark抓包进行分析下:
总结:这就是nmap呀,发什么包来着,一个arp,这个-sn也不是很强大把,不就是一个arp协议的利用,多发了几个包而已,写个python,再来个多线程,还是可以实现的。
- namp -Pn #跳过主机发现,进行直接进行更深层次的扫描。
nmap -Pn 192.168.1.1/24 #Pn的使用
执行结果如下(没啥好看的):
这什么操作,看不懂Pn这个命令,抓包看看吧!有图有效果!
还发上TCP包了,但是syn=1请求,就是没有人理,理了的也Reset,看来是发着包玩。
- PS/PA/PU/PY #进行TCP的SYN探测/ACK探测/UDP探测/SCTP等探测
nmap -PS 192.168.1.1/24 #SYN探测
nmap -PA 192.168.1.1/24 #ACK探测
namp -PU 192.168.1.1/24 #UDP的探测
nmap -PY 192.168.1.1/24 #SCTP的探测
由于原理差不多,都是改变一些相应的参数进行探测,我们选取nmap -PA进行实验探究结果如下:
等了老半天,没有发现一个主角,太失望了。你看使用ping还能实现。这就有点说不过去吧,
还是大名鼎鼎的扫描工具就被一个PA毁了?
不行抓包看看,怎么回事吧。
我们可以看到我们的扫描主机188对我们的存在的188进行探测,其中我们的186还对他进行回包了
我们可以看到回包
这不是“睁眼瞎”?看来源代码要改改,哈哈,其实nmap还是很强大的,只是自己参数没用好罢了!
- nmap -PO #使用ping进行探测
nmap -PO 192.168.1.186/24
执行的效果:
效果还是不错的,还能发现一些服务,一共发现了9台主机,就是时间有点长,我们抓包看看!
原来主机的发现都是根据服务器返回的ACK,RESET判断,效果还是不错的!没有误判。
3.总结
原来nmap主机的发现都是通过自己构造一些特殊的数据报文进行发送,比如发送ack,发送
syn等等,我们也可以通过python里面的scapy构造发包。
4.另附上python主机发现代码
#!/bin/bash
if ["$#" -ne 1]
then
echo "Usage : ./arping1.sh [Interface]"
exit
fi
interface=$1
prefix=$(ifconfig $interface | grep 'inet '| cut -d 't' -f 2 | cut -d ' ' -f 2 | cut -d '.' -f 1-3)
for addr in $(seq 1 254)
do
arping -c 1 $prefix.$addr | grep "bytes from" | cut -d " " -f 5 | cut -d "(" -f 2 | cut -d ")" -f 1
done
#!/bin/bash
if ["$#" -ne 1]
then
echo "Usage : ./pinger.sh [/24 network address]"
exit
fi
prefix=$(echo $1 | cut -d '.' -f 1-3)
for addr in $(seq 1 254)
do
ping -c 1 $prefix.$addr | grep "bytes from" | cut -d " " -f 4 | cut -d ":" -f 1
done
抛砖引玉,更多内容持续关注tdcoming!