Nmap
命令:nmap -sS -p 1-65535 -v 192.108.1.106
表示使用半开扫描,指定端口1到65535,并且显示扫描全过程
案例二:扫描www.xxser.com C段存活主机
命令:nmap -sP www.xxser.com/24
案例三:指定端口扫描
命令:nmap -p 80,1433,3306 www.xxser.com
参数 -sS TCP SYN扫描 nmap -sS 192.168.1.254
-sU UDP 扫描 nmap -sU 192.168.1.254
-P 指定端口扫描 nmap -sS -P 1-65535 192.168.1.254
-F 快速扫描
-sV 探测开放的端口,确定服务器版本信息
-V 详细信息 nmap -V -sS 192.168.1.254
-O 操作系统
-6 启动IPv6扫描
nmap -V -sS 192.168.1.*
端口:80http 443https 53dns 25smtp 22ssh 23telnet20、21ftp 110pop3 119nntp 143imap 179bgp 135-139、445RPC 500vpn 5060voip 123ntp)
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冗长和调试设置到最大程度。