自学nmap笔记,有兴趣学习的可以看下
-T4 野蛮扫描:网络较好情况。
-A 综合扫描 -sS 隐蔽扫描 -sU UDP扫描
-v 详细输出
-p 指定端口,如21,443,也可以1-65535
Ping就是主机发现,现在部分禁止了所以ping功能,所以扫描会出现,未ping 所以就停止端口扫描,但是no ping 扫描就是直接端口扫吧。
no ping -Pn 单独的主机发现就是 -sn(注意在nmap 原版里,-sP 而不是-sn ) 输出结果是 up down failed failed 可能是被墙了。
-F 快速扫描, 如果想知道包的详细情况:--packet-trace -traceroute 路由节点追踪。
-PA ACK扫描,
topology 拓扑,
vsftpd ftp 版本号
-P0 无ping 扫描,但是要指定协议,否则默认1,2,4.如果指定格式,nmap -p0协议,协议,协议,(注意要紧跟。尤其第一个。)。
nmap 官网,nmap.org ,扫我官网 scanme.nmap.org/
-PS tcp syn ping 可以指定端口,也要紧跟,用, 分割。
-PA tcp ack ping -PU udp ping 扫描 可以指定端口,否则默认 40125
--system-dns 后接dns 域名,ip 使用本地解析,指定解析。
-PE -PP -PM ip 里面的icmp 子协议, -PR arp 扫描,试用与内网里。
-n 禁止反向域名解析。一般默认为解析。
-R 永远做反向域名解析
域名到ip -6 都是指的ipv6.namp 里目标前,zenmap 在目标后。
路由几跳追踪,路由追踪。--traceroute.
-PY 改进的TCP/IP协议的,向目标发init包。也判断存活
-sA ack扫描 -sU udp 扫描 默认每次截止到1-1000之间的端口。
open 开放端口 closed 关闭了。但也能检测出来。 fitered 过滤掉了。也可能是拥塞,隔时再次扫描。 unfitered 未被过滤,但不知道是否开放。 open| filtered 打开或者被过滤,但是部分没被过滤。 closed |filtered 不确定关闭还是过滤了。
时间快慢扫描,-t0 非常慢,逃避ids. -t1 缓慢,逃避ids。 -t2 文雅,降低速度对带宽的影响。 -t3 普通,根据目标, -t4 野蛮,较好的网速,但是精度,不影响。 -t5 牺牲精度,换来快速。
扫描指定的tcp or udp 端口,-p T:(PORT) -p U:(端口)
扫描nmap 里面的开放最高的端口,--top-ports 100 "top一百。"
--port-radio 一定频率的端口。 端口一定要用英文逗号隔开,
-sU UDP较慢(管理员易忽视,)原理:若返回icmp 不可达,则关闭着,反之。
隐蔽扫描 -sN 非常规tcp包,
-sF 穿透防火墙。
-sX -sA -sW windows 窗口扫描。
在抓到的包里面,正值就是开,0关。
-sM tcp maimon --scanflags 自定义的tcp 扫描,URG ACK PSH RST SYN FIN 使用时 如果不指定,则,ack,标志位无顺序要求,但中间必须没有空格,就是连起来。
-sI 操作僵尸网络入侵,-sI 僵尸:端口 对象。原地址欺骗。
-sO 扫描是否有ip协议,如tcp,icmp,igmp. -b 用一台ftp掩盖,扫描。但少用了。 对目标进行服务,系统,版本的侦测。
-sV 版本探测 通过相应的端口进行的,一对一的扫描 但是 --allports 是全部端口都上。
-sV -A 同时对操作系统进行侦测。
--version-intensity 设置扫描强度。1-9级别,较低的值对大范围的常见服务有效,探测报文越高值越高,则服务可能被识别正确就会高。但是牺牲了时间。
--version-light 轻量级= --version-intensity 2 --version-all 重量级 = --version-intensity 9
--version-trace 获取详细的版本信息。
-sR 常常与其他扫描结合,并且在开放的tcp/udp端口执行,sunrpc null 命令。获知 version。 对操作系统类型获知,有ttl,tcp数据包响应时间,ack序号,icmp 报文响应。 -O 这是偶,不是0 零。-O 搭配-A 更好 HOP 描述网络距离,几跳的意思。
--osscan-limit 不过此项必须搭配-O -A 一起用。 不重要哦多次一举,
--osscan-guess : --fuzzy nmap 定时选项多是逃避ids、fw.入情监测系统内的。
--min-hostgroup 并行扫描,不小于这个组,
--max-hostgroup 不大于这个组。 调整探测报文的并行度:--min-parallelism
--max-parallelism min 在主机不好,网络不好的情况下,加快速度, 对探测报文的超时设定。
--min-rtt-timeout --max-rtt-timeout --initial-rtt-timeout 以ms 为单位。可以过滤掉,呢些严格过滤的,或者禁止ping的主机。 一般rtt 100ms到1000ms之间。
--host-timeout 指定的ms 数。必须小心设定。否则,会来不及扫描主机的。且一定要加单位,ms 放弃反应缓慢的目标主机,放弃低速的目标主机。 报文的时间间隔。
--scan-delay 适合情况:等待一下,带宽不乐观。但是会限制nmap的能力。
--scan-delay --max-scan-delay 好玩的东西:自己用逼迫nmap 采用延迟的方法发包,同时又规定他超过延迟了就不接受了。然后nmap 就卡在了这两者之间,左不是右不是,哈哈,为难他了。
-F 报文分段将tcp 头进行分段在几个包里面。为了让过滤器,和ids侦测困难。
--mtu 指定偏移大小。
--mtu 8的倍数。 更与牛逼的ip误导。
-D 其一,可以随机产生指定数量的伪ip,向目标发送攻击。如-D RND:指定ip数量 目标。 -D 其二,可以指定ip 如 -D 192.34.23.23,233.234.22.23,之间用逗号隔开。 但是这里虚构的iP如果没有诱饵主机,则变成了syn洪水了。
--source-port 源端口欺骗。
--data-length 如30 一般tcp 包40 icmp echo 28字节,
--randomize-hosts 对扫描的主机进行随机扫,而不是1,2,3 ...。而是1,34,23,234,4...但是建议,最好不要单方面使,而是要配合时间,就是延时多少。
--spoof-mac mac地址欺骗。哈哈,牛逼了。随机mac的话,-0 记住这是零。不是哦。 同时可以指定厂商的Mac,vendor name cisco T-linkd哈哈。 记住后面是这个 --spoof-mac 厂商,或者mac .
信息收集, 用script --script ip-geolocation-* ???? IP地址。经纬度
--script hostmap-ip2hosts ip反查 所有的该ip 的捆绑的域名,一个服务器上有多少个站点。
dns-brute dns信息收集, A 记录,RFC 1053 定义,特定的主机名映射到主机的ip上。
cname记录,将某个别名指向某个a记录 ipv6 主机记录, 服务位置 srv记录, naptr 映射一个域名,enum查询 13个根服务器。
系统信息:--script membase-http-info 需要指定端口 后台打印机,smb-secutity-mode.nse 需要指定端口。
系统漏洞扫描,smb-check-vulns.nse 要指定端口。且端口可搭配U: T:
web 漏洞检测 --script http-stored-xss.nse扫描目标,发现跨站点xss漏洞,同理。
http-sql-injection snmp列举windows 服务/账户。
--script=snmap-win32-serveces target 需要指定端口。snmp 端口在161 对一个域名下的若干子域名,列举,
--script dns-brute --script-args dns-brute.domain=??? dns-brute.threads=线程。 http信息收集,版本,-sV 即可 头信息探测 nmap -p 80 --script=http-headers target 对网站目录结构深探。nmap -p 80 --script=http-sitemap-generator 爬行目录结构。
枚举ssl秘钥。--script=ssl-enum-ciphers 支持的不同版本加密算法。端口在443 ssh 服务秘钥, ssh-hostkey 端口22,
--script ssh-hostkey --script-args ssh_hostkey=full 秘钥输出格式:full bubble visual all 数据库关。端口默认 p 3306 如果变了。则-sV 下。
--script mysyl-databases --script-args mysqluser=root,mysqlpass MY SQL里的数据库类型。
--script=mysql-variables target , MySQL变量。
--script=mysql-empty-password target检查MySQL密码,无,还是anonymous 无,还是root 有。
--script=mysql-brute target 审计密码,弱口令,也可以指定我们的账户密码清单, userdb=路径 passdb=路径 target。
oracle密码 --script oracle-brute --script-args oracle-brute.sid=test--script-args 审计oracle 密码 ms-sql 端口;1433
审计mssql --script ms-sql-brute --script-args list.
审计mssql 空密码, --script ms-sql-empty-password 当的到数据库用户账号密码后。
读取mssql 数据,--script ms-sql-tables --script-args mssql.username=账户名,mssql.password=密码。之后读取mssql 数据。
执行系统命令。 --script ms-sql-xp-cmdshell --script-args mssql.username=id,mssql.password=pw,ms-sql-xp-cmdshell.cmd="cmd命令" target pgsql --script pgsql-brute target 端口在5432 nmap完善。
审计就是破解之意 --script http-brute 指定端口。简单暴力破解。
--script ftp-bruite 指定端口 简单暴力。如果要dict.need this mode +--script-args userdb=path,passdb=path, --script http-wordpress-brute 设置线程数在脚本后.threads=num --script http-joomla-brute --script=pop3-brute mailserver --script smb-brute.nse --script vnc-brute -p 5900 vnc指定端口。
--script smtp-brute --script=smtp-enum-users.nse stmp.xx.com枚举远程系统所有用户。
--script stuxnet-detect 震网检测。
--script=snmp-netstat 获取state.p lie in 161 --script=snmp-processes 枚举系统进程 --script=snmp-win32-services 获取win服务器的服务 --script snmp-brute 识别并自动添加新的目标进行检测。 xxxxxxxxxxxxxxxx skills --send-eth use dl send message --send-ip use n send message
--privileged no root but pretend to be root.
--interactive 交互模式启动。shell relevant. -V -d set debug level 1_9 data will be many --iflist test router -e interface choice an interface. 中断后续。
配合输出-oG,-oN为x.txt --resume x.txt --script=firewalk detect the firewall. --script vmauthd-brute crack the vm target. xxxxxxxxxxxxxxxxx 标准输出stdout. -oN stdout catable -oX xmlout multisystem interate or be called by program. -oS 133tout -oG grepout -oA allout no need add the filetype.store in 3 types. .nmap .xml .gnmap. 追加保存文件,
--append-output -oN file更新文件用的。