总结

nmap -v 详细信息输出
nmap -p 指定端口
nmap -iL 扫描文件中的ip
nmap -exclude 不扫描某些ip
nmap -Pn 使用ping扫描,显式地关闭端口扫描,用于主机发现
nmap -sn 使用ping扫描,进行端口扫描,假设主机都是up的
nmap -sS 使用SYN扫描,不需要完成三次握手
nmap -sT TCP connect扫描,需要完成三次握手,只适用于找出TCP和UDP端口
nmap -sU 扫描UDP端口
nmap -sF FIN扫描,用于探测防火墙状态,识别端口是否关闭,容易漏扫
nmap -sV 扫描目标主机的端口和软件版本
nmap -O 远程检测操作系统和软件
nmap -O --osscan-guess 猜测目标操作系统版本
nmap -traceroute 路由跟踪
nmap -A 综合扫描,包含1-10000的端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测
nmap -oN result.txt 将标准输出写入到指定文件中
nmap -oX result.xml 将输入写成xml的形式
nmap -oS result.txt 将输出写成特殊符号的形式,内容跟-oN是一样的,只是字体变了而已
nmap -oG result.txt 将输出写成特殊格式
nmap -oA 将输出所有格式,有三种 .xml/ .gnmap/ .nmap
nmap -T[0-5] 时间参数模板
   -T0 用于躲避IDS,时间很长
  -T1 用于躲避IDS,时间很长
  -T2 降低了扫描速度,使用更小的带宽和目标主机资源对目标靶机进行扫描
  -T3 默认模式,未做优化
  -T4 假设用户具有合适及可靠的网络而加速对目标靶机的扫描
  -T5 假设用户具有更好的网络或者愿意牺牲准确性而加速扫描
nmap -sC 根据端口识别服务自动调用默认脚本
nmap --script

0x00 nmap 使用背景

Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,以及用以评估网络系统安全。网上有不少介绍nmap使用的方法,但是本文主要介绍在实践中,很有成效并且经常会用到的命令。

0x01 nmap 使用方法

# 以下的实践方案均是基于KALI-LINUX进行的,但是只要在安装有nmap的系统,具体命令都是通用的,一模一样的,所以这些最佳使用同样适用于其他linux、unix、windows系统中的nmap。并且我们在这里使用zenmap(nmap的图形化界面,只要安装了nmap,这个图形化界面也会自动安装的,root@kali:~# zenmap  #这个命令可以直接在KALI-LINUX中调用nmap的图形界面zenmap)

1 获取远程主机开放的端口、端口的服务、服务的版本、操作系统类型及其版本

nmap -sV -T4 -O --open 203.195.139.153 #耗时2分钟-5分钟

nmap -sV -T4 -O --open 203.195.139.153| grep "open"(windows:nmap -sV -T5 203.195.139.153 | findstr /i "open")

#当把单一主机203.195.139.153换成IP段或包含不同IP、IP段的文本,即可批量扫描大范围的情况,但是扫描估计很耗时,半个小时到5个小时,所以建议每次只扫描32个IP地址,得到多次的扫描结果再用EXCEL打开整理

nmap -sV -T4 -O --open 203.195.139.0/27 -oX /root/203.195.139.153.xml #耗时0.5小时-1小时

nmap -sV -T4 -O --open iL /root/host.txt -oX /root/203.195.139.153.xml #耗时1小时-5小时

2 快速获取开放特定端口的主机

nmap -T4 -F 203.195.139.153 #耗时0.5分钟-1分钟,同样可以按照上面的方法进行批量扫描如

nmap -T4 -F --open 203.195.139.0/27 -oX /root/203.195.139.153.xml

3 一个简单的万能扫描

nmap -T5 -A 203.195.139.153 &>/root/nmap_out.txt

4 确认主机是否有拒绝服务的问题

nmap -T5  --max-parallelism 600 --script http-slowloris 203.195.139.153

5 绕过ACL的简单实例

nmap -sX -p- -Pn 203.195.139.153   #主要针对UNIX,LINUX系统

6 简单检测是否有漏洞问题

nmap -T5 -O -A -v --script vuln 203.195.139.153

7 简单的暴力破解测试

nmap --script=brute 203.195.139.153

8 重要的参考文档

nmap中文的使用说明:  http://www.nmap.com.cn/doc/manual.shtm#7

https://nmap.org/man/zh/                     #中文文档,很容易读懂

nmap 官网最新版下载:  https://nmap.org/download.html        #可以获取新版的特性

nmap NSE脚本使用大全:  https://nmap.org/nsedoc/                 #很强大的脚本使用指导

0x00 前言

现在很多的网络应用都被防火墙保护着,那我们平时在进行扫描的时候,往往一无所获,因此我们在面对防火墙/IDS/IPS的防护应用时,该如何使用nmap 绕过这些防火墙的限制进行端口服务扫描?

0x01 使用nmap 脚本进行防火墙检测

root@kali:~# nmap --script=firewalk --traceroute m.anzhi.com

root@kali:~# nmap --traceroute --script firewalk --script-args firewalk.recv-timeout=60000,firewalk.max-active-probes=3,firewalk.max-retries=3,firewalk.probe-timeout=600 m.anzhi.com

root@kali:~# nmap -p80 --script http-waf-detect m.anzhi.com

root@kali:~# nmap -p80 --script http-waf-detect --script-args=”http-waf-detect.detectBodyChanges” m.anzhi.com

0x02 使用nmap 绕过防火墙

1 碎片扫描

root@kali:~# nmap -f m.anzhi.com

root@kali:~# nmap -mtu 8 m.anzhi.com

2 诱饵扫描

root@kali:~# nmap -D RND:10 m.anzhi.com

root@kali:~# nmap –D decoy1,decoy2,decoy3 m.anzhi.com

3 空闲扫描

root@kali:~# nmap -P0 -sI zombie m.anzhi.com

4 随机数据长度

root@kali:~# nmap --data-length 25 m.anzhi.com

root@kali:~# nmap --randomize-hosts 103.17.40.69-100

root@kali:~# nmap -sl 211.211.211.211m.anzhi.com

5 欺骗扫描

root@kali:~# nmap --sT -PN --spoof-mac 0 m.anzhi.com
root@kali:~# nmap --badsum m.anzhi.com
root@kali:~# nmap -g 80 -S www.baidu.com m.anzhi.com

root@kali:~# nmap -p80 --script http-methods --script-args http.useragent=”Mozilla 5”m.anzhi.com

0x03 使用总结

关于如何使用nmap 绕过防火墙,还是得多观察流量包的情况,及时调整绕过策略,组合多种策略。

非常详细的使用说明(我是没有看过的):

Nmap备忘单:从探索到漏洞利用 Part1  http://www.freebuf.com/sectool/99956.html

Nmap备忘单:从探索到漏洞利用(Part 2)http://www.freebuf.com/sectool/100221.html

Nmap备忘单:从探索到漏洞利用(Part3) http://www.freebuf.com/vuls/100580.html

Nmap备忘单:从探索到漏洞利用(Part 4)http://www.freebuf.com/sectool/101335.html

最新文章

  1. UVALive 6911---Double Swords(贪心+树状数组(或集合))
  2. windows核心编程 - 线程基础
  3. C#编程总结(十)字符转码
  4. 灵感来自 Google & YouTube 的苗条的进度栏效果
  5. 与NS2一起度过第一个圣诞夜!(NS2入门学习参考资料)
  6. sql(转自http://www.imooc.com/article/2325)
  7. meta元素常用属性整理
  8. .net多线程的发展
  9. Eclipse c++头文件问题(未完)
  10. 3094 寻找sb4
  11. Django中如何使用django-celery完成异步任务2(转)
  12. cdll和windll的差别
  13. MySQL 使用while语句向数据表中批量插入数据
  14. switch语法之PHP
  15. Objective-C 程序设计第四版 二
  16. - 通过 UIBezierPath 做一个中空的扫描器
  17. Oracle(+)号用法
  18. Linux input子系统 io控制字段【转】
  19. Boosting Static Representation Robustness for Binary Clone Search against Code Obfuscation and Compiler Optimization(二)
  20. 优化Android Studio/Gradle构建(转)

热门文章

  1. C++ 传参的方式 值传递,指针传递,引用传递
  2. 109)PHP与oracle网址
  3. 多因素线性回归|adjusted R^2|膨胀系数|非线性回归|Second-order model with 1 independent variable|Interaction model with 2 independent variables|偏相关|fraction[a]|contribution
  4. Linux命令:ldd
  5. 83)PHP,配置文件功能
  6. python语法基础-面向对象-进阶-长期维护
  7. VSAN磁盘扩容与收缩(二)
  8. java学习——反射机制
  9. 【待填坑】LG_2467_[SDOI2010]地精部落
  10. vue日常问题总结