基础使用:
1.nmap ip
探测目标ip1-10000范围内所有开放端口
比如:扫描192.168.91.1
可以看见,已经扫描出目标IP对应的一些信息了
2.nmap -vv ip
简单扫描,输出详细结果(一般没什么用)
nmap -p port ip
指定某个ip的某个端口进行扫描
nmap -sP ip:
进行ping扫描,一般是用于扫描一个网段的所有主机
例如:
nmap -sP 192.168.91.0/24
nmap -traceroute ip
路由跟踪,通过路由器跟踪可以轻松地查到从我们电脑到目标ip所经过的网络节点和通过每个节点所花费的时间
nmap -O ip
对操作系统的探测
可以看见,这个目标ip很有可能是windows xp系统
nmap -A ip
全面扫描,包括ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测;但速度较慢
扫描技术:
1.nmap -sS ip
通过TCP的SYN包获取主机信息,找到开放端口
如果不做指定,默认为tcp syn(扫描主机需要是root/admininstor权限)
扫描的意义是:nmap -scanSYN 192.168.91.1
Tcp SYN Scan(sS):不会在目标主机产生日志信息
SYN攻击的原理:client伪造大量虚假ip,向server发送syn包,server接收到syn包之后进入syn_recv状态,返回响应,等待确认;由于虚假ip并不会给予响应,server就一直重发,造成了syn包长期占用来连接队列,导致真实ip不能进入队列,引起网络拥堵甚至瘫痪
2.nmap -sT ip
用来扫描足迹打开的TCP或者UDP端口
没有管理员权限的-sS扫描,扫描类型默认为TCP
意义:nmap -scanTCP 192.168.91.1
这种扫描是tcp connect()扫描它他需要完成三次握手,并且要调用系统的connect()。
3.nmap -sU ip
用来扫描主机打开的UDP端口,不会发送syn包,通过发送udp包到目标主机,返回ICMP则表示不可达,端口关闭
由于该目标ip没有开启UDP端口,所以扫不到
4.nmap -sF ip
如果TCP SYN被防火墙拦截,就用FIN标志的数据包获取主机信息
FIN重置位,用来代表断开连接
5.nmap -sV ip
**扫描目标主机的端口上运行的软件版本,顺带扫带端口**6.nmap -sL 伪装IP 目标ip
这样对方就不会发现自己的真实ip脚本
nmap --script=auth ip
负责处理鉴权证书(绕开鉴权)的脚本nmap --script=vuln ip
负责检查目标机是否有常见的漏洞nmap --script=dos ip
用于进行拒绝服务攻击nmap --script=exploit
利用已知的漏洞入侵系统nmap --script=malware ip
探测目标机是否感染了病毒、开启了后门等信息nmap --script=default ip 或者 nmap -sC ip
默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击smb破解
nmap --script=smb-brute.nse ip
smb字典破解
nmap --script=smb-brute.nse --script-args=userdb=/var/passwd,passdb=/var/passwd ip
扫描root空口令
nmap -p3306 --script=mysql-empty-password.nse 192.168.137.4
关于脚本的扫描还有很多,可参见:
https://www.jianshu.com/p/e87841faa3b5