nmap
时间:2022-07-25
本文章向大家介绍nmap,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
nmap简介
NMAP是一款开源的网络探测和安全审核工具,被设计用来扫描大型网络,包括主机探测与发现、开放端口的情况,操作系统与应用服务指纹识别、WAF识别及常见安全漏洞。
主要用法
• 主机探测
:探测网络上的主机,如列出响应TCP和ICMP请求、开放特别端口的主机
• 端口扫描
:探测目标主机的端口
• 版本检测
:探测目标主机的网络服务,判断其服务名称及版本号
• 系统检测
:探测目标主机的操作系统及网络设备的硬件特性
• 支持探测脚本的编写
:使用NMAP的脚本引擎和Lua编程语言
nmap端口状态解析
open : 应用程序在该端口接收 TCP 连接或者 UDP 报文。
closed :关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。
filtered :由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙。
unfiltered :未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
open | filtered :无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。
closed|filtered:(关闭或者被过滤的):无法确定端口是关闭的还是被过滤的
nmap的使用
1.直接扫描单个网站
nmap www.qq.com
namp 192.168.12.12
2. -D 伪造ip
nmap -D www.qq.com www.baidu.com #伪造成www.qq.com去扫描www.baidu.com
nmap -D 192.168.16.11 192.168.16.22 #伪造成192.168.16.11去扫描192.168.16.22
3.-g 伪造端口
nmap -D www.qq.com -g 520 www.baidu.com #伪装成www.qq.com的520端口来扫描www.baidu.com
nmap -D 192.168.16.11 -g 8080 192.168.16.11 #伪装成192.168.16.11的8080端口来扫描192.168.16.22
(有的网站可能限制了端口访问,只有特定的端口才能访问)
4.-A 详细扫描
namp -A www.baidu.com
5.-sV 对目标地址进行服务版本信息识别
namp -sV www.baidu.com
6.-iL 扫描一个地址列表文档里的ip
123.txt
www.baidu.com
www.qq.com
www.taobao.com
nmap -iL 123.txt
批量扫描123.txt里的ip
7.-r 随机扫描
不按顺序来,随机扫描列表里的ip
8. -p 指定端口
nmap -p 1-520 172.16.11.8
nmap -p 80,22,34 172.16.11.8
9. sP 对目标进行Ping扫描
nmap -sP 172.16.11.8
P是ping扫描,p是指定端口
10.路由跟踪
nmap -traceroute www.baidu.com
11.扫描一个网段的IP
nmap 172.16.11.0/24
nmap 172.16.11.0-255
12. -O 操作系统探测
13.-sC 脚本
-sC: 等价于 --script=default,使用默认类别的脚本进行扫描。
--script=<Lua scripts>: <Lua scripts>使用某个或某类脚本进行扫描,支持通配符描述
--script-args=<n1=v1,[n2=v2,...]>: 为脚本提供默认参数
--script-args-file=filename: 使用文件来为脚本提供参数
--script-trace: 显示脚本执行过程中发送与接收的数据
--script-updatedb: 更新脚本数据库
--script-help=<Lua scripts>: 显示脚本的帮助信息,其中<Luascripts>部分可以逗号分隔的文件或脚本类别。
oracle-sid-brute.nse
其他用法参考 https://blog.csdn.net/aspirationflow/article/details/7694274
- Flink StreamSQL 原理介绍
- 你真的了解php吗?
- 微信小程序
- 排序算法:Python 实现
- 整洁代码之道——重构
- 常见Linux调优命令和工具
- 微信群之间消息自动转发简明教程(Github上免费共享有代码和教程)
- 使用CNN+ Auto-Encoder 实现无监督Sentence Embedding (代码基于Tensorflow)
- Flume日志收集系统架构详解
- 讨厌算法的程序员 | 第六章 归并排序
- 基于Spark /Tensorflow使用CNN处理NLP的尝试
- 一个优雅的框架 | Pytorch 初体验
- ffmpeg的时基
- FFmpeg菜鸡互啄#第7篇#文件/rtsp推流到rtmp
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法