Kali学习笔记16:Nmap详细讲解
在前面十五篇博客中,几乎每一篇都有介绍Nmap,这里系统地介绍下每个参数:
注意:区分每个参数的大小写
-iL:列好的IP放在一个文本里面,可以直接扫描这个文本
用法:namp -iL <文本名>
-iR:随机扫指定数目的IP:
用法:nmap -iR <IP数量>
示例:我现在随机扫描50个IP的80端口,把其中是open的显示出来
显然,随机的这50个IP没有开放80端口的或者开了防火墙
--exclude:指定不扫描的IP
用法:nmap <IP> --exclude <IP/IPs>
示例:我现在要扫描192.168.163这一网段,但我不想扫描192.168.163.1-100:
--excludefile:类似上一条,不过把不扫描的IP放在一个文本文件中
用法:类似上一条
主机发现系列:
-sL:并不扫描,只是把要扫描的IP列出来
用法:nmap <IP> -sL
示例:
-sn:扫描目标,但不扫描端口
用法:nmap <IP> -sn
-Pn:有时候目标开启防火墙,无法收到回包,Nmap会不再扫描该目标,但是我向彻底扫描这个目标,需要这个参数
用法:nmap <IP> -Pn
-PS/-PA/-PU/-PY:使用相对应的协议扫描发现:PS:TCP[SYN]、PA:TCP[ACK]、PU:UDP、PY:SCTP
用法:nmap <IP> -PS/-PA/-PU/-PY
以下内容,如果可以直接加的参数,不在写用法(比如-Pn和-sn)
-PE:使用ICMP的echo
-PP:使用时间戳
-PM:查子网掩码(通常扫不到结果)
-PO:使用IP协议
-n:不做DNS解析
-R:反向DNS解析
--dns-servers:扫描的时候不使用本地配置的DNS服务器而使用指定的
示例:使用美国的DNS服务器扫描新浪
--traceroute:路由追踪(类似Kali的traceroute命令)
端口扫描系列:
-sS:使用TCP【SYN】扫描
-sT:使用TCP扫描:建立完整的三次握手
-sA:使用TCP【ACK】扫描
-sW:TCP:window扫描(没用过)
-sM:TCP:maimon扫描(没用过)ACK+FIN(17)
-sU:使用UDP扫描(事实证明没有TCP协议准确)
-sN:使用TCP空FLAG扫描
-sF:TCP:FIN扫描
-sX:xMas扫描(没用过,使用罕见的TCP的FLAG的组合)
--scanflags:自定义FLAG扫描(高手才可以用:需要熟练了解协议,针对不同情况使用)
-sI:僵尸扫描:具体僵尸扫描和实现这里是我写的案例:
https://www.cnblogs.com/xuyiqing/p/9650391.html
-sY/-sZ:SCTP相关的扫描
-sO:IP协议扫描
-b:FTP中继扫描
-p:指定扫描端口,天天有,方法就不说了
不过可以有多种写法:
-F:快速扫描(扫描常见的少量端口)
-r:按顺序扫描端口(Nmap默认随意扫描指定范围的端口)
--top-ports:扫描指定数量的端口
示例:只扫描常见一千端口中的前十个:
-sV:已经扫描到端口之后,探测服务
--version-intensity:配合sV参数,探测服务程度(1-9表示程度深浅)
示例:我要非常详细地扫描某IP的服务
这里可以看出,的确是非常的详细
--version-trace:显示更多的过程
脚本扫描:脚本在/usr/share/nmap/scripts里面
-sC=:和--scrip=t参数一样
--script-args=:脚本参数
具体脚本有哪些,可以上网查看当前版本对于的脚本
--script-updatedb:更新nmap的脚本(没有扫描作用)
--script-help:脚本帮助
-O:检测操作系统
-f:设置最大传输单元
-D:伪造源地址(需要一些混淆IP)
示例:我设置了三个虚假的IP,用来掩护我的IP来进行扫描
可以抓包发现确实存在伪造源地址:
-S:欺骗源地址
示例:
这里还用了-e参数:指定网卡
缺陷:收不到回包
-g:使用源端口发送
示例:我指定所有发出的包都是8888端口:
--proxies:代理(不推荐)
如果要代理的话,建议用proxychains方便使用
我以前这篇文章有介绍如何在Kali中使用代理:
https://www.cnblogs.com/xuyiqing/p/9680124.html
--data=:给扫描包加上数据
--data-string=/--data-length:类似上边
--spoof-mac:欺骗mac地址:
示例:
--badsum:故意发送错误的checksum(有时可以欺骗防火墙)
其他的参数没什么好说的,都是些杂项用不着的
Kali学习笔记16:Nmap详细讲解的更多相关文章
- Linux 学习笔记之超详细基础linux命令(the end)
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 14
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 13
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 9
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 7
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 6----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 1
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 说明:主要是在REHL Server 6操作系统下进行的测试 --字符界面虚拟终端与图形界面之间的切 方法:[ ...
- Ext.Net学习笔记16:Ext.Net GridPanel 折叠/展开行
Ext.Net学习笔记16:Ext.Net GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候 ...
- SQL反模式学习笔记16 使用随机数排序
目标:随机排序,使用高效的SQL语句查询获取随机数据样本. 反模式:使用RAND()随机函数 SELECT * FROM Employees AS e ORDER BY RAND() Limit 1 ...
- Linux 学习笔记之超详细基础linux命令 Part 12
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...
随机推荐
- Module 的语法
模块功能主要由两个命令构成:export和import.export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能. 一个模块就是一个独立的文件.该文件内部的所有变量,外部无法 ...
- linux 7安装telnet,设置telnet自启动,使用root telnet登录
1.安装启动服务 # yum install telnet-server # yum install xinetd # systemctl enable xinetd.service # system ...
- JS学习记录------JS基本指令
对未来的恐慌,和想成为一名自由开发的梦想.让我觉得应该点亮一个新的技能:WEB前端开发. 重新学习JS以及jQuery,让我在日常code的过程中可以更得心应手,毕竟,我爱代码. 这篇文章主要记录的内 ...
- HTML5学习路线导航
一.基本标签元素 1.基础标签第一篇 2.基础标签第二篇 3.表单form的使用 4.新增表单验证 二.CSS样式表 4.CSS插入样式表的三种格式 5.六大选择器 6.样式内容详细讲解 7.背景渐进 ...
- 快速解决PL/SQL Developer过期问题(无需注册码等复杂操作)
第一步:在开始菜单中输入 :regedit 的指令,点击回车,进入注册表编辑器界面 第二步:在注册表里按HKEY_CURRENT_USER\Software\Allround Automations ...
- 【Selenium】【BugList10】smtp发送邮件问题汇总:550/535/554
[场景] 通过126邮箱向QQ邮箱发送HTML格式邮件 [代码1] from email.mime.text import MIMEText from email.header import Head ...
- linux shell数组赋值方法(常用)
http://blog.csdn.net/shaobingj126/article/details/7395161 Bash中,数组变量的赋值有两种方法: (1) name = (value1 ... ...
- 在IIS7上导出所有应用程序池的方法批量域名绑定
在IIS7+上导出所有应用程序池的方法:%windir%/system32/inetsrv/appcmd list apppool /config /xml > c:/apppools.xml ...
- 欧拉函数-gcd-快速幂(牛客寒假算法基础集训营1-D-小a与黄金街道)
题目描述: 链接:https://ac.nowcoder.com/acm/contest/317/D来源:牛客网小a和小b来到了一条布满了黄金的街道上.它们想要带几块黄金回去,然而这里的城管担心他们拿 ...
- Codeforces Round #536 (Div. 2) F 矩阵快速幂 + bsgs(新坑) + exgcd(新坑) + 欧拉降幂
https://codeforces.com/contest/1106/problem/F 题意 数列公式为\(f_i=(f^{b_1}_{i-1}*f^{b_2}_{i-2}*...*f^{b_k} ...