Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之 一。最新版的Nmap6.0在2012年5月21日发布,详情请参见:www.nmap.org。
端口扫描:
常见端口与对应服务:
80 http
443 https
53 dns
25 smtp
22 ssh
23 telnet
20、21 ftp
110 pop3
119 nntp
143 imap
179 bgp
135-139、445 RPC
500 vpn
5060 voip
123 ntp
nmap ip地址/域名 支持CIDR.(连续的ip用-连接)【空选项主机存活、SYN端口】
域名解析:
n 不用解析域名。
R为所有目标解析域名。
–system-dns使用系统域名解析器解析(慢)。
–dns-server 服务器 选择dns解析。
时间性能优化:
-T 时间优化(0-5)(paranoid|sneaky|polite|normal|aggressive|insane)
-F快速扫描。
-oN %D-%T .nmap周期性的扫描比较。
ndiff #b 1.xml o2.xml 比较文件(-h帮助-v详细text文本格式xml格式)
–max-retries调整重传次数。
–min-hostgroup/–max-hostgroup size 设置组的大小
–min-parallelism/–max-parellelism time指定时间内的探针数
–min-rtt-timrout/–max-rtt-timrout/initial-rtt-timrouttime 指定探针超时
–scan-delay/-max-scan-delay time 指定探针之间的时延
–max-retries tries指定探针重传转发数
–host-timeout time设置扫描主机的最大时间
–defeat-rst-ratelimit设置rst的限制
-A 综合扫描。
-p端口【-数 数以内 数- 大于数p-所有 U udp T tcp 服务 [数-数]端口】。
–allports不为探测版本排除任何端口。
-e 指定网络接口 。
-r顺序扫描。
-O系统扫描。
–osscan-limit 。(针对指定的目标进行操作系统检测)
–osscan-guess; –fuzzy 。(推测操作系统检测结果)
–version-light[轻]-all[全]1-9(探针强度)
–version-intensity[0-9]默认7(探针强度)
–version-trace获取详细的探针信息。
-v强度小 d大一点 d d加强-p最强 debug信息。(V<v<D<d<<p)
-d [level] (提高或设置调试级别) 。
-sT tcp端口扫描(完整三次握手)。
-sU udp扫描。(不回应可能端口打开,回应是关闭)
-sL dns反向解析。
-sM[fin ack mainmon扫描] 。
-sS隐蔽扫描(半开syn)。
-sP发现扫描网络存活主机。(直连arp非直连tcp80 icmp)
-sO确定主机协议扫描。
-sA tcp ACK扫描。
-sW 对滑动窗口的扫描sI[idlescan]。
-sR RPC扫描。(flag没有syn,ack,rst回送rst)
-sN 关闭主机发现【空】。(不管是否存在直接扫描)
-sF FIN扫描 。(sN sF sX逃避不了ids)
-sX Xmas扫描 (fin psh urg为置位)。
-sI 完全隐藏。【以一个跳板主机{无流量}扫描另一台主机】
-sV 服务版本。
-sC 跟安全有关的脚本
-P0 指定协议。(不ping主机)(1icmp6tcp17udp47gre50esp51ah53swipe77sun-nd115l2tp120uti132sctp)
-PS 端口列表用,隔开[tcp80 syn 扫描]
-PA 端口列表用,隔开[ack扫描](PS+PA测试状态包过滤防火墙【非状态的PA可以过】)【默认扫描端口1-1024】
-PU 端口列表用,隔开[udp高端口扫描 穿越只过滤tcp的防火墙]
-PE [icmp ping types]
-PM 掩码请求。
-PR [arp ping] 默认直连用。
-PN 自己。
-PP 时间请求。
–send-ip 直连不做arp做ping。
–reason返回原因。
–packet-trace 跟踪发送和接收的报文。
–traceroute追踪主机跳数。
–scanflags banner tcp扫描的flags。
–servicedb 文件
在文件里指定扫描的服务。
–script=脚本【all全部】(promiscuous杂合模式) 调用脚本。(协议平台-服务-动作)
–script-updatedb脚本升级
输出:
-oS (ScRipT KIdd|3oUTpuT)保存扫描结果输出。
-oN/oG (Grep 输出)
-oA (输出至所有格式)
–append-output 附在原来的结果前面。
输入:
-iL从列表中导入原来的扫描结果。
-iR随机选择目标。
–exclude排除主机或网络。
–excludefile排除文件中的列表。
–randomize-hosts随机主机。
–iL 文件名 导入信息。
versiondb调用数据库。
逃避技术:
-f 8字节 mtu 数 指定分片字节。
-D <ip,ip> -S 源ip e出接口
欺骗ip和mac。
–source-port 源端口; -g (源端口哄骗)
–spoof-mac 0随便,厂商,自己指定 指定mac。
–data-length (发送报文时附加随机数据)–date-length填充随机数据。
–badsum发送tcp和udp校验和的包。
–ttl (设置IP time-to-live 域)
–ip-options ip选项。
其他选项:
-b FTP反弹攻击。
–open只显示open的。
–iflist (列举接口和路由)
-6 (启用IPv6扫描)。
【例子:nmap –spoof-mac Apple –traceroute–data-length 9 f D ip地址,RND:5,ME v n O sS sV Oa 保存目录 log-errors–append-output p T:1-1024,1433,2222,2249,7778,8080,9999–randomize-hosts ip地址】
(nmap识别的端口状态:open开放closed关闭filterd过滤unfilterd未过滤[ack 开关都是rst]open|filterd开放或被过滤[UDP]closed|filterd关闭或被过滤[IPID])。
nmap下的其他两个项目cat和nping。
ncat #主机 端口 串联和重定向接口(功能和nc有点相像)
-4 ipv4 -6 ipv6 -u udp sctp sctp
-g发送松散源路由-G设定源路由指针
-p端口-s源主机
-l监听模式-m最大链接数
broker链接中间人char聊天服务器
ssl使用ssl
ssl-verify验证服务器证书
ssl-cert指定证书
ssl-key指定私钥
ssl-trustfile名单信任的证书
proxy 主机:端口指定服务器
proxy-type 协议 指定协议
proxy-auth 用户:密码使用代理证书
-e 命令 执行命令c 命令 sh命令执行
allow 主机 允许链接–allowfile file允许文件链接
deny 主机 拒绝链接
denyfile 文件 拒绝文件连接
-d 时间 指定延时I时间 指定空闲w时间指定连接超时
-o file保存信息-x 保存16进制信息
-v详细信息-c使用CRLE去EOL顺序-h帮助
recv-only只接受send-only只发送-t远程登录version显示版本
nping #目标 网络数据包生成工具。
–tcp-connect TCP连接方式.
–tcp TCP模式
–udp UDP模式
–icmp ICMP的模式
–arp ARP表/ RARP服务模式
–tr 路由跟踪模式
-p 端口 目标端口
-g 端口 源端口
–seq seqnumber 设置端口序列
–flags 设置tcp的flags (CWR,ECN,URG,ACK,PSH,RST,SYN,FIN)
–ack 设置ack数
–win 设置滑动窗口大小
–badsum 使用错误校验
–mss 设置最大段大小。
–ws 设置窗口的规模。
–ts <echo,reply> 设置时间戳(回音和答复场)
–icmp-type 设置icmp类型
–icmp-code 设置icmp代码
–icmp-id 设置icmp的标识符
–icmp-seq 设置icmp顺序
–icmp-redirect-addr 设置icmp重定向地址
–icmp-param-pointer 设置icmp参数问题指针
–icmp-advert-lifetime 设置icmp的生成周期
–icmp-advert-entry <IP,pref> 设置icmp路由广告
–icmp-orig-time 设置icmp原始时间戳
–icmp-recv-time 设置icmp接受时间戳
–icmp-trans-time 设置icmp发送的时间戳
–arp-type arp类型(ARP-reply, RARP, RARP-reply)
–arp-sender-mac 发送人的mac地址
–arp-sender-ip 设置发件人ip地址
–arp-target-mac 设置目标mac地址
–arp-target-ip 设置目标ip地址
-S 设置源ip地址
–dest-ip 设置目标地址
–tos 服务类型
–id 标识
–df 不要分段
–mf 更多分段
–ttl 生存时间
–badsum-ip 无效ip校验
–ip-options <S|R [route]|L[route]|T|U …>设置IP选项
–ip-options 设置ip选项
–mtu 最大传输单元
-6 使用ipv6
–hop-limit 设置IPv6逐场的限制值发送到指定的数据包
–traffic-class 交通类
–flow 流标签
–dest-mac 目标mac
–source-mac 源mac
–ether-type 以太网类型
–data 附加到发送的数据包的自定义二进制数据
–data-string 追加自定义的字符串发送的数据包
–data-file 包括有效载荷从指定的文件
–data-length 附加到发送的数据包随机数据
–delay 延迟之间的探针
–rate 发送速率探针在给定
–ec 运行回声客户端
–es 运行回声服务器
–ep TCP端口号设置回声
–nc禁用加密和验证
–once服务一个客户端并退出
-h 显示帮助信息
–version 显示nping的版本
-c 轮后停止给定数量
-e 设置网络接口使用
-H 不显示发送的数据包
-N 不要试图捕捉回复
–privileged 假设该用户完全权限
–unprivileged 假设用户缺少原始套接字权限
–send-eth 使用原始以太网发送
–send-ip IP层发送的原料
–bpf-filter 自定义设置过滤器BPF
-v 增加或设置输出的详细程度
-d 增加或设置调试级别
-q 减少冗赘级别
–quiet冗长和调试级别设置到最低。
–debug冗长和调试设置到最大程度。