环境
centos7.7
yum -y install nmap
命令操作
1、扫描单个目标
1、 nmap IP 也可以是多个IP的扫描
单个IP
nmap 10.10.10.1
同一网段不同的IP
nmap 10.10.10.1,12,45
同一网段连续的IP
nmap 10.10.10.1-100
# 示例:
[root@111 jkl]# nmap 10.10.10.1
Starting Nmap 6.40 ( http://nmap.org ) at 2020-01-07 21:13 CST
Nmap scan report for 10.10.10.1
Host is up (0.20s latency).
Not shown: 993 filtered ports
端口 状态 服务
PORT STATE SERVICE
80/tcp open http
113/tcp closed ident
443/tcp closed https
2000/tcp open cisco-sccp
5000/tcp open upnp
5060/tcp open sip
8008/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 91.07 seconds
2、扫描多个目标
1、 nmap 10.10.10.1-100.* 扫描10.10.10的网段从1-100所有子IP地址
2、nmap 10.10.1/24
3、nmap -iL list.txt # 这里的list.txt文件里面是需要扫描的IP地址,注意要扫面的文件的路径。
3、扫描网络并排除特定的目标
1、 nmap -iR 3 # 3 代表我要扫描3个目标IP
2、 nmap 10.10.10.0/24 --exclude 10.10.10.12 # 扫描这个网络段,但排除这个IP
nmap 10.10.10.0/24 --exclude 10.10.10.12-145 # 扫描这个网络段,但排除后面这个网络段
3、 nmap 10.10.10.0/24 --excludefile list.txt # 排除一个非常大的特定的IP地址列表,并且你已经将其放入一个文本文档中,注意扫描文件的路径。
4、扫描开放网络端口
1、 nmap -A IP
5、使用可选包扫描网络
1、 nmap -PN IP # 扫描安全级别更高的目标
2、 nmap -sP IP
3、 nmap -PS IP
nmap -PS22,80,21 IP
4、 nmap -PO IP # 它代表了IP协议,它将发送一个特定的协议到目标主机
5、 nmap -PR IP
6、 nmap --traceroute IP
7、 namp -R IP # DNS 反向操作
8、 nmap --system-dns IP # DNS 查找
9、 nmap --dns-servers DNS地址 IP # 指定DNS查找
10、nmap -SL IP
6、Nmap高级扫描
1、 nmap -sS IP # 这个执行一个TCP SYN的扫描,这个选项会发送一个小的包,这个包会同步到目标,并且等待答复
2、nmap -sT IP
3、nmap -sU IP
4、nmap -sX IP
5、nmap --scanflags ACKPSH IP
6、nmap -sO IP # 查看是否被防火墙保护
7、nmap --send-eth Ip
7、端口扫描
1、 nmap -F IP # -F 快速扫描
2、 nmap -p 80 IP # 扫描特定目标端口,结果是只能看到tcp协议的
nmap -P 80 IP # 扫描一系列目标
3、 nmap -p "sm*" IP # 模糊搜索目标所有的以sm开头的服务
4、 nmap -sU -sT -p U:53,T:25 IP #根据协议来扫描目标主机,-sT列举UDP和TCP,然后你给U赋值53给T赋值25,然后nmap分配UDP端口53并分配TCP端口25
5、nmap -p "*" IP # 扫描全部
6、nmap --top-ports 54 IP
7、nmap -r # -r 顺序扫描
8、系统检测
nmap会告诉你在远程目标上,运行了什么系统和服务,通过解码远程系统的回复信息,这个过程叫做TCP/IP指纹识别
1、nmap -o IP
2、nmap -O --osscan-guess IP # 尝试性猜测目标主机的相关信息
3、 nmap -sV IP # 扫描服务器版本
nmap -sV --version-trace IP
4、 nmap -sR IP # 扫描目标主机的RPC信息
9、时间选项
s 秒
m 分钟
h 小时
1、 nmap -T5 IP
2、nmap --max-parallelism 4 IP
3、nmap --min-hostgroup 10 IP # 最少同时扫描10个主机,提高扫描速度
4、nmap --intial-rtt-tiomeout 6000 IP # 设置超时时间 毫秒计算的,nmap默认的RTT是10秒的超时
5、nmap --max-retries 3 IP # nmap在尝试三次连接之后才会放弃扫描
6、nmap --scan-delay 10s IP #设置延迟时间
7、 nmap --min-rate 50 IP # 设置nmap数据包的每秒最低发送量
10、防火墙
1、nmap -f IP
nmap --mtu 8 IP
2、nmap -D RND:10 IP #伪装
3、nmap -sT 伪装地址 目标IP
11、如何输出文件
1、 nmap -oN 1.txt IP # 把扫描的这个目标IP的信息保存在这个文件中
2、 nmap -oX 1.xml IP
3、 nmap -oG 1.txt IP # grep 过滤这个1.txt文件
grep "要搜索的关键字" 1.txt
4、nmap -oA 要命名的文件的名字 IP # 执行完这个命令之后,然后在当前执行命令的路径下 ls -l 要命名的文件的名字.* 会出来一些文件
5、nmap --stats-every 2s IP # 每隔2秒就会输出扫描目标IP的完成率
6、nmap -OS 文件名 IP # 会有一个你命名的文件在你的当前路径下出现
12、排错选项
1、nmap -h man namp
2、nmap -v # 查看nmap的版本信息
3、nmap -d IP # 调试 d1最小 d9最大
4、nmap --reason IP # 显示出来的信息中 connection refused (连接拒绝) syn-ack(打开的)
5、nmap --open IP # 显示目标IP的所有端口打开的情况
6、nmap --packet-trace IP
7、nmap --iflist # 会为你展示哪些配置在你电脑上的网络接口
8、nmap -e 目标主机拥有的网络(eth1 wlan1) IP # 执行扫描的目标的特定网络接口类型
13、脚本 引擎
1、 nmap --script banner IP # 运行它,它会通过连接开放的TCP端口,来实现banner劫持,然后输出所有信息
2、 nmap --script-updatedb # 升级数据命令