nmap的理解与利用(初级)
在命令窗口下输入命令等待,可以用回车来查看进度

nmap进行探测之前要把域名通过dns服务器解析为ip地址,我们也可以使用指定的dns服务器进行解析。
nmap --dns-servers 主机地址 需要扫描的目标地址
对于已经知道主机存活或者防火墙开启,可以使用-Pn参数来停止探测之前的icmp的请求。已达到触不到防火墙安全机制
nmap -Pn www.baidu.com

nmap列举远程机器开放端口
对于默认端口范围,并不能满足日常工作需要。可以使用-p m-n 来指定探测端口范围为m到n之间的所有端口可以在具体某个范围用
端口状态
open、close不解释了,主要是filtered是过滤状态
nmap扫描技术查看
nmap -h查看帮助信息

主要帮助里的SCAN TECHNIQUES
服务指纹
为了确保有一个成功的渗透测试或网络设备监控,需要我们知道目标系统中服务信息指纹。服务指纹信息包含服务端口、服务名和版本等。
通过分析目标往nmap发送的数据包中的某些协议标记、选项和数据,我们可以推断这些数据包的操作系统。
nmap通过向目标主机发送多个udp和tcp数据包并分析响应来进行系统指纹工作。
nmap识别服务指纹
nmap -sV IP地址来自目标机器的服务信息
就用虚拟机的kali吧。。。。当实验吧。。

真的很慢。。。

通过扫描知道我用的是vmware,竟然还有个漏洞端口,445可以通过端口溢出进行攻击
nmap侵略性探测
nmap -A -v -T4 IP地址
-A表示使用侵略的方式,嗯。。可以理解为英文单词attack其中包括操做系统识别,端口服务、指纹识别等
-v表示持续输出返回的解析的详略程度。
-T4是加速(数字范围是1到5)
可以扫到目标机器的开机时间,MAC地址,系统版本等。。。
nmap -sC -sV -O(是o不是0) IP地址
sC参数表示使用nmap脚本进行探测,sV表示探测目标机器上的服务信息,O表示探测目标机器的操作系统
主机发现
局域网有许多设备,如何获取开机状态
1.ping
2.使用工具批量探测
明白CIDR含义:
无类别域间路由,(class inter-domain routing)可以快速地表示一个网络
举例:
172.16.1.1/24 表示172.16.1.1到172.16.1.255之间的所有ip地址
nmap主机发现
nmap -sP CIDR
对该网络的所有主机进行ping扫描,以探测主机存活性。扫描中用了tcp syn扫描、icmp echo request 来探测主机存活。
也可以使用
nmap -sn CIDR
对该网络中的所有主机进行ping扫描,以探测主机的存活性。
nmap主机发现输出结果
nmap -sn CIDR -oX 文件名.xml
对该网络中的所有主机进行ping扫描,以探测主机的存活性。同时结果以文件名.xml输出,以便后记使用
ps:注意路径
端口探测技巧
nmap -p80 目标

把网站解析成IP地址,厉害。我们也可以看到状态是开放的
多个端口以逗号隔开
范围端口
nmap -p1-100 目标地址
所有端口
nmap -p- 目标地址
指定协议探测端口
nmap -p T:端口,U:端口 目标地址
通过协议名来扫描端口
nmap -p 协议名字 目标地址
这个牛逼
通过名称范围扫描
nmap -p s* 目标地址
这里的s*值得是所有以s开头的协议
扫描百度会有许多过滤

扫描注册在nmap中的端口
nmap -p [1-65535] 目标地址
NSE介绍
nse就是nmap script engine )nmap脚本引擎,内置很多可以用来扫描的、针对特定任务的脚本。通过nse可以不断地拓展nmap的扫描策略,加强nmap的功能

nse使用
使用nmap探测web服务的title信息。
nmap --script http-title 目标主机

nmap --script http-headers 目标主机
可以获得目标的使用版本信息等
nse分类使用
对于目标使用多个分类脚本进行探测,可以更快的找到目标信息和弱点
nmap -sV --script vuln 目标
不展示。。
使用下面的命令可以发现版本信息分类进行探测
nmap -sV --script="version,discovery" 目标
使用nmap可以进行筛选扫描检测
nmap -sV --script="not exploit" 目标
还有更详细的。。
要使用http*的脚本,除了http-brute和http-slowers
nmap -sV --script "(http*) and not (http-slowlors and http-brute)" 目标
nse调试功能的使用
使用nmap中的exploit,但是在与此同时开启调试模式。
nmap -sV --script ecploit -d 3 --script-trace 目标
-d(debug范围0到9)
--script-trace可以随时看到扫描过程
nse参数的使用
使用nmap的http-title脚本,并且指定使用对应的user-agent
nmap -sV --script http-title --script-args http.useragent="mozilla 999" 目标
此代码使用可以突破某些网站的限制设备登陆
nse更新
nmap --script-updatedb
nse脚本分类
在nmap的script的目录下。
或者官网https://nmap.org/nsedoc/
有具体解释和内容,不过得翻墙,我进不去。。
nmap指定特定网卡进行探测
使用场景
这种功能需要网卡支持混杂模式,或者当计算机上有两张卡,并且两张卡对应不同的网络
指定网卡进行探测
nmap -e 网卡信息 CIDR
切换使用特定网卡进行探测的参数 -e
kali中操作

ndiff
对之前的数据参数进行二次比较,减少了人工的比较,节省大量时间

上我们最爱的百度翻译
用法:ndiff[option]FILE1 FILE2
比较两个Nmap XML文件并显示它们的差异列表。
不同之处包括主机状态更改、端口状态更改和
服务和操作系统检测。
-h、 --帮助显示此帮助
-v、 --verbose还显示未更改的主机和端口。
--文本格式的文本显示输出(默认)
--xml格式的xml显示输出
指定文件输出加侵略性查看
nmap -A -v -T4 目标地址 -oX 文件输出名.xml
然后对kali输入命令
service apache2 start
来打开阿帕奇服务
nmap上面的命令

然后用工具nidff
ndiff 文件 文件

首行加+表示第二个比较的文件的不同
-表示第一个文件的不同
之前开启服务,apache,所以会有不同。
可视化nmap的使用
使用zenmap
在配置中设置脚本,从而在可视化程序中快速指定配置进行扫描

也可以使用自带策略

ping scan来验证主机的存活性
等等等
window下网卡
通过命令ipconfig /all 与nmap irlist比较知道是哪些网卡名称从而进行探测。
不指定网卡,直接探测也可以,首先依次尝试这些网卡发送数据包,如果连通,才会继续探测,否则就换下一个网卡。直到网卡都被尝试后,才算结束。
nmap的理解与利用(初级)的更多相关文章
- 教你如何利用初级C#语言更改银行存款!!!!
您是否对生活现状不满意? 您是否总是感叹工资太少? 您是否经常发现自己相中的物品又降价了然而自己却还是只能望洋兴叹? 没关系!让我来拯救你的钱包! 接下来进入正题: 要想更改自己的银行存款首先得找到一 ...
- [HMLY]14.对iOS开发中使用MVVM的理解和使用(初级)
前言 MVVMDemo 之前几个月一直在学习react-native,它的组件化开发真的是很棒,控件和页面的组件化在开发中可以很好的复用,节省开发时间.在那个时候还不知道react-native开发用 ...
- Nmap参考指南(Man Page)
Table of Contents 描述 译注 选项概要 目标说明 主机发现 端口扫描基础 端口扫描技术 端口说明和扫描顺序 服务和版本探测 操作系统探测 时间和性能 防火墙/IDS躲避和哄骗 输出 ...
- Nmap渗透测试使用方法
Nmap渗透测试使用方法 目标选择2 端口选择2 操作系统和服务检测2 Nmap输出格式2 用NSE脚本深入挖掘2 HTTP服务信息3 检测SSL漏洞问题的主机3 设备扫描3 按VNC扫描5 按SMB ...
- nmap中文手册
译注该Nmap参考指南中文版由Fei Yang <fyang1024@gmail.com>和Lei Li<lilei_721@6611.org> 从英文版本翻译而来. 我们希望 ...
- Nmap参考指南中文版
Nmap参考指南中文版 来源: http://www.nmap.com.cn/doc/manual.shtm 译注 该Nmap参考指南中文版由Fei Yang <fyang1024@gmail. ...
- Nmap 操作手册 - 完整版
目录 Nmap - 基础篇 Nmap 安装 RedHat Windows Debina & Ubuntu Others Linux Nmap 参数(简单版) 目标说明 主机发现 扫描技术 端口 ...
- C#高级编程笔记 Delegate 的粗浅理解 2016年9月 13日
Delegate [重中之重] 委托 定义一:(参考)http://www.cnblogs.com/zhangchenliang/archive/2012/09/19/2694430.html 完全可 ...
- SQL Server 利用锁提示优化Row_number()-程序员需知
网站中一些老页面仍采用Row_number类似的开窗函数进行分页处理,此时如果遭遇挖坟帖的情形可能就需要漫长的等待且消耗巨大.这里给大家介绍根据Row_number()特性采用特定锁Hint提升查询速 ...
随机推荐
- js上 初识JavaScript
1.JavaScript简介 **JavaScript ** 是什么?(重点) Js是一种专门为网页交互设计的客户端(浏览器端)的脚本语言: Js与html和css有相似之处,都在浏览器端解析: Js ...
- angular8 在componet里面跳转新的地址页面
this.router.navigate(['/teacher/course/detail/' + id]);
- FFmpeg 初级使用
ffmpeg来处理多种媒体文件,对帧进行操作的时候非常的复杂,下面介绍下使用FFmpeg对视频文件的操作. 1,安装 windows安装ffmpeg: 下载ffmpeg文件解压文件到c盘配置环境变量C ...
- Python利用openpyxl带格式统计数据(1)- 处理excel数据
统计数据的随笔写了两篇了,再来一篇,这是第三篇,前面第一篇是用xlwt写excel数据,第二篇是用xlwt写mysql数据.先贴要处理的数据截图: 再贴最终要求的统计格式截图: 第三贴代码: 1 '' ...
- EF Core 三 、 骚操作 (导航属性,内存查询...)
EF Core 高阶操作 本文之前,大家已经阅读了前面的系列文档,对其有了大概的了解 我们来看下EF Core中的一些常见高阶操作,来丰富我们业务实现,从而拥有更多的实现选择 1.EF 内存查找 wh ...
- sql字段拆分 ,连表子查询获取值
1.连表子查询获取值 select bas.name,bas.id_card_num,bas.mobil_no,gender,bas.birthday,bas.height,bas.weight,pr ...
- ArrayList哪种遍历效率最好,你真的弄明白了吗?
ArrayList简介 声明:以下内容都是基于jdk1.8的 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了 ...
- java Stream学习笔记
1.Stream与io无关. 2.Stream和用普通的循环没有太大区别,甚至时间复杂度更高,代码可读性差(通常代码行数更少). 3.流操作就是把循环要做的任务单独抽取出来,最终通过编译在一起. 来看 ...
- Spring Cloud Config应用篇(九)
一.SpringCloud Config 配置中心 1.1.配置中心说明 SpringCloud Config 服务器以下简称"配置中心". Spring Cloud Config ...
- 个人总结的一些C++基础理论
我自己整理的一些C++基础理论知识,面试的同学可以用到: 主要是针对那些基础理论知识比较薄弱的同学吧,希望会对大家面试有些帮助,排版什么的有点乱,大家多多包涵: 往期经典: 北漂95后的2020 给北 ...