美文网首页
简单的使用Nmap

简单的使用Nmap

作者: Grizzly_Bear | 来源:发表于2017-09-29 18:23 被阅读0次

    命令很多,试试Ctrl+f,查找吧---------Nmap详细的命令解释

    我只是简化了这些命令,如果不懂得的话,点上面的链接

    Nmap是一款多么牛逼的扫描器,我就不再此废话了。对照下面的命令用法吧。

    一,扫描目标ip
    -iL <文件名>--扫描文件里所有的ip
    -iR <数量>--随机选择一定数量的目标
    --exclude <主机名/地址>--不包含的主机
    --excludefile <文件名>--不包含的主机的列表文件

    二,扫描ip后,主机发现
    -sL(列表扫描)--列出给出目标的具体内容,默认会对地址进行反向解析,显示主机名。
    -sn(不进行端口扫描)
    -Pn(无ping)--跳过主机发现阶段,把每个都IP当成存活主机。
    -P0 <协议号列表>(IP 协议 ping)---一个较新的主机发现选项是IP协议ping,它将IP数据包发送到IP报头中指定的协议号。
    -PS<端口列表>(TCP SYN Ping)---可以添加不同的端口,如,-PS80,23,445,113
    -PA<端口列表>(TCP ACK Ping)---同上
    -PU <端口列表>(UDP Ping)同上
    -PR(ARP Ping)同上
    --disable-arp-ping (No ARP or ND Ping)----不使用ARP发现和ICMPv6邻居发现
    -PY <端口列表> (SCTP INIT Ping)
    -PE; -PP; -PM(ICMP Ping Types)
    -n  不域名解析
    -R   所有IP做反向域名解析
    --system-dns    使用本机的dns服务器
    --dns-servers(使用指定的dns服务器)
    如果指定dns服务器无法使用,则会转向使用本机配置的dns服务器

    三,端口状态
    以下不是命令,但是要判断端口的状态,以便于后续的操作
    open(开放的)
    应用程序正在该端口接收TCP 连接或者UDP报文。
    closed(关闭的)
    关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程序在其上监听。
    filtered(被过滤的)
    由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。
    unfiltered(未被过滤的)
    未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。
    open|filtered(开放或者被过滤的)
    当无法确定端口是开放还是被过滤的,Nmap就把该端口划分成 这种状态。开放的端口不响应就是一个例子。
    closed|filtered(关闭或者被过滤的)
    该状态用于Nmap不能确定端口是关闭的还是被过滤的。 它只可能出现在IPID Idle扫描中

    四,端口扫描
    -sS(TCP SYN扫描)--半开放扫描
    -sT(TCP connect()扫描)--Nmap通过创建connect() 系统调用要求操作系统和目标机以及端口建立连接,而不像其它扫描类型直接发送原始报文。
    -sU(UDP 扫描)
    -sY(SCTP INIT scan)--扫描类似TCP SYN扫描
    -sN; -sF; -sX (TCP Null,FIN,Xmas扫描)
    -sA (TCP ACK扫描)--它用于发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的
    -sW(TCP窗口扫描)
    -sM(TCP Maimon扫描)
    --scanflags (定制的TCP扫描)
    -sZ(SCTP COOKIE ECHO扫描)
    --sI <僵尸主机地址:端口>(idlescan)
    -sO(IP协议扫描)
    -b(FTP弹跳扫描)

    五,端口扫描设置
    -p <端口号,端口列表>
    --exclede-ports <端口列表>(排除的端口)
    -F(快速扫描)
    -r(顺序扫描端口)
    --port-ratio---扫描nmap-services中给出的目标的一定比例,这个值在1.0-0.0之间。
    --top-ports--扫描nmap-services中的前多少个端口

    六,服务和版本扫描
    -sV(版本扫描)---扫描服务版本,也可以用-A同时进行操作系统探测和版本扫描。
    --allports(版本扫描时,不排除任何端口)
    --version-intensity <强度>(版本扫描强度)---强度在1到9之间,一般来说,强度越大,服务越有可能被正确识别
    --version-light----相当于 --version-intensity 2
    --vension-all----相当于 --version-intensity 9
    --version-trace---打印出正在进行的版本扫描的详细信息

    七、操作系统探测
    -O (启用操作系统检测)-----也可以使用-A来同时启用操作系统检测和版本扫描。
    --osscan-limit(只对至少知晓一个端口开放或者关闭的主机进行操作系统探测)
    --osscan-guess;--fuzzy(---------------无法确定操作系统类型的时候,默认进行推测。但是使用这两项,会让猜测更加准确。)
    --max-os-tries(操作系统识别重试次数)

    八、扫描性能设置
    --min-hostgroup; --max-hostgroup(调整并行扫描组的大小)
    --min-parallelism; --max-parallelism(调整探测报文的并行度)
    --max-parallelism选项通常设为1,以防止Nmap在同一时间 向主机发送多个探测报文,和选择--scan-delay同时使用非常有用。
    --min-rtt-timeout, --max-rtt-timeout, --initial-rtt-timeout(调整探测报文超时)
    --host-timeout(放弃低速目标主机)
    --scan-delay; --max-scan-delay(调整探测报文的时间间隔)
    -T(设置时间模板)
    --max-retries <次数>---没有响应后的重试次数
    --script-timeout(设置脚本超时时间)
    预防脚本的bug导致影响效率
    --min-rate; --max-rate(发包速度控制)
    最少每秒发多少,最多每秒发多少。如果0.1的话就是10秒一个包的意思
    --defeat-rst-ratelimit
    忽略系统reset包的速率限制
    --defeat-icmp-ratelimit
    忽略系统ICMP错误消息速率限制
    --nsock-engine epoll|kqueue|poll|select
    选择系统IO模型,nmap -V可以查看支持哪些

    九、防火墙绕过/IDS躲避
    -f (报文分段); --mtu (使用指定的MTU)
    -D <肉鸡1,肉鸡2,...>(结合肉鸡干扰进行扫描)
    -S(源地址欺骗)
    -e(指定使用的网络接口)
    --source-port; -g(源端口欺骗)
    --date可以用这样的格式指定值 --data 0xdeadbeef --data \xCA\xFE\x09如果指定0x00ff 这个的数字,将不会做字节序转换。确保你的字节序,对方可以接受
    --data-string
    例如,--data-string "Scan conducted by Security Ops, extension 7192" or --data-string "Ph34r my l33t skills"
    --data-length(发送报文时 附加随机数据)
    这个选项告诉Nmap在发送的报文上 附加指定数量的随机字节。操作系统检测(-O)包不受影响。
    --ip-options; --ip-options(Send packets with specified ip options)
    指定IP头
    --proxies
    设置代理,支持http代理和socks4代理
    --badsum(让nmap使用一个伪造的不合法的checksum)
    这样的数据包一般都会丢弃,如果收到任何回复,这个回复一定来自防火墙
    --adler32(使用弃用的Adler32来代替CRC32C做SCTP的checksum)
    这是为了从旧版的SCTP协议设备获得响应
    --ttl(设置IP time-to-live域)
    设置IPv4报文的time-to-live域为指定的值。
    --randomize-hosts (对目标主机的顺序随机排列)
    告诉Nmap在扫描主机前对每个组中的主机随机排列,最多可达 8096个主机。
    --spoof-mac(MAC地址哄骗)

    十、输出
    -oN(标准输出)
    将结果输入制定文件
    -oX(XML输出)
    将XML输出写入指定文件
    -oS(ScRipT KIdd|3 oUTpuT)
    脚本小子输出类似于交互工具输出,这是一个事后处理,适合于 'l33t HaXXorZ, 由于原来全都是大写的Nmap输出。
    -oG(Grep输出)
    -oA(输出至所有格式)
    为使用方便,利用-oA选项 可将扫描结果以标准格式、XML格式和Grep格式一次性输出。分别存放在.nmap,.xml和.gnmap文件中。也可以在文件名前 指定目录名,如在UNIX中,使用~/nmaplogs/foocorp/, 在Window中,使用c:\hacking\sco on Windows。
    -v(提高输出信息的详细程度)
    -d [level](设置调试级别)
    --packet-trace(跟踪发出的报文)
    -iflist(列举端口和路由)
    --append-out(在输出文件住追加)
    但对于XML(-oX)扫描输出 文件无效,无法正常解析,需要手工修改。
    --resume(继续中断的扫描)
    如果标准扫描 (-oN)或Grep扫描(-oG)日志 被保留,用户可以要求Nmap恢复终止的扫描,只需要简单地使用选项 --resume并说明标准/Grep扫描输出文件,不允许 使用其它参数,Nmap会解析输出文件并使用原来的格式输出。使用方式 如nmap --resume。Nmap将把新地结果添加到文件中,这种方式不支持XML输出格式,原因是将两次运行结果合并至一个XML文件比较困难。
    --stylesheet(设置XSL样式表,转换XML输出)
    --webxml
    --stylesheethttps://nmap.org/svn/docs/nmap.xsl的简写。
    --no-stylesheet (忽略XML声明的XSL样式表)
    --open
    只显示开放或者可能开放的端口
    --stats-every(周期性的输出统计数据)
    --stats-every 10s 每10秒输出一次,,这个输出会被输出到标准输出,和XML文件
    --reason(打印主机和端口状态的原因)

    十一、其他选项
    -6(启用IPv6扫描)
    -A(强力扫描模式)
    --datadir <文件夹名称> (说明nmap用户数据文件的位置)
    --send-ip (在原IP层发送)
    要求Nmap通过原IP套接字发送报文,而不是低层的以 太网帧。这是--send-eth选项的补充。
    --send-eth
    使用raw ethernet包来发包
    --privileged (假定用户具有全部权限)
    --unprivileged(假定用户没有特权)
    --interactive (在交互模式中启动)
    --release-memory (退出后namp自己释放内存)
    --servicedb
    nmap-service文件的路径
    --versiondb
    nmap-service-probes文件路径
    -V;--version (查看版本)
    -h;--help(简要的使用介绍)

    十二、NSE脚本引擎
    https://nmap.org/nsedoc/具体脚本的使用手册
    --script <脚本名>
    脚本名字前面加 + 会让脚本强制执行指定名字的时候可以使用shell风格的通配符"*"。
    nmap --script "http-*"
    加载所有的名字以http-开头的脚本,必须用引号包起来,让通配符不受shell影响。
    nmap --script "not intrusive"
    加载所有非入侵类型的脚本
    nmap --script "default or safe"
    在功能上等同于nmap --script "default,safe"加载了所有默认类或者安全类,或者是两者都包含的。
    nmap --script "default and safe"
    加载在同属于两者的脚本
    nmap --script "(default or safe or intrusive) and not http-*"
    加载属于默认类或者安全类或者入侵类的但是名字开头不是http-的脚本
    --script-args=,={=},={,}
    指定脚本参数,里面不能有‘{’, ‘}’, ‘=’, or ‘,’,如果要用就用\转义
    --script-args-file
    从一个文件获取脚本参数
    --script-trace
    打印出脚本执行的具体信息
    --script-updatedb

    相关文章

      网友评论

          本文标题:简单的使用Nmap

          本文链接:https://www.haomeiwen.com/subject/wiziextx.html