常用命令参数:
参数 | 功能 |
---|---|
-PN | 启用无Ping扫描,跳过Ping扫描这个过程 |
-sP | 使用Ping协议进行扫描 |
-sS | 半开扫描 |
-sT | 全开扫描 |
-PR | 使用ARP协议进行主机发现 |
-O | 识别操作系统 |
–sV | 探测服务版本信息 |
-p | 扫描 1指定端口:port 2端口范围:port-port 3多个端口: port1, port2,port3 |
扫描指定的端口和端口范围
Nmap默认扫描的1000个只是Nmap认为比较常用的1000个端口。如果我们想要扫描目标主机的全部端口,我们可以在参数-p后面加上"*"
端口状态:
1.Open,端口开启,有程序监听此端口
2.Closed,端口关闭,数据能到达主机,但是没有程序监听此端口。
3.Filtered,数据未能到达主机。
4.Unfiltered,数据能到达主机,但是Nmap无法判断端口开启还是关闭。
5.Open|filtered,端口没有返回值,主要出现在UDP,IP,FIN,NULL和Xmas扫描
6.Closed|filtered,只出现在IP ID idle 扫描。
文件说明:
nmap-os-db 主机指纹库
格式:
Fingerprint 2N Helios IP VoIP doorbell
Class 2N | embedded || specialized
CPE cpe:/h:2n:helios
SEQ(SP=0-5%GCD=51E80C|A3D018|F5B824|147A030|199883C%ISR=C8-D2%TI=I|RD%CI=I%II=RI%SS=S%TS=U)
OPS(O1=M5B4%O2=M5B4%O3=M5B4%O4=M5B4%O5=M5B4%O6=M5B4)
WIN(W1=8000%W2=8000%W3=8000%W4=8000%W5=8000%W6=8000)
ECN(R=Y%DF=N%T=FA-104%TG=FF%W=8000%O=M5B4%CC=N%Q=)
T1(R=Y%DF=N%T=FA-104%TG=FF%S=O%A=S+%F=AS%RD=0%Q=)
T2(R=N)
T3(R=Y%DF=N%T=FA-104%TG=FF%W=8000%S=O%A=S+%F=AS%O=M5B4%RD=0%Q=)
T4(R=Y%DF=N%T=FA-104%TG=FF%W=8000%S=A+%A=S%F=AR%O=%RD=0%Q=)
T5(R=Y%DF=N%T=FA-104%TG=FF%W=8000%S=A%A=S+%F=AR%O=%RD=0%Q=)
T6(R=Y%DF=N%T=FA-104%TG=FF%W=8000%S=A%A=S%F=AR%O=%RD=0%Q=)
T7(R=Y%DF=N%T=FA-104%TG=FF%W=8000%S=A%A=S+%F=AR%O=%RD=0%Q=)
U1(DF=N%T=FA-104%TG=FF%IPL=38%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)
IE(DFI=S%T=FA-104%TG=FF%CD=S)
说明
Fingerprint关键字定义一个新的指纹,紧随其后的是指纹名字。
Class行用于指定该指纹所属的类别,依次指定该系统的vendor(生产厂家),OS family(系统类别),OS generation(第几代操作系统),and device type(设备类型)。
接下来是CPE行,此行非常重要,使用CPE(CommonPlatformEnumeration,通用平台枚举)格式描述该系统的信息。以标准的CPE格式来描述操作系统类型,便于Nmap与外界信息的交换,比如可以很快从网上开源数据库查找到CPE描述的操作系统具体信息。
此处作为指纹描述字段的CPE格式如下:
cpe:/<part>:<vendor>:<product>:<version>:<update>:<edition>:<language>
接下来从SEQ到IE的13行都是具体指纹数据描述行,在对比指纹时,就是对比这13行里面的具体数据,如果匹配则目标机为指纹所描述的系统类型。
SEQ描述顺序产生方式;OPS描述TCP包中可选字段的值;WIN描述TCP包的初始窗口大小;ECN(ExplicitCongestionNotification)描述TCP明确指定拥塞通知时的特征;T1-T7描述TCP回复包的字段特征;U1描述向关闭的UDP发包产生的回复的特征;IE描述向目标机发送ICMP包产生的特征。
nmap-service-probes 服务指纹库
格式:
match <service> <pattern> [<versioninfo>]
域名 ,URL,IP地址,三者之间的关系:
URL是一个详细地址(比如xx家yy房间xx东西)
域名是一个字符串形式的服务器地址(相当于上面的xx家),这个主要是方便人阅读和记忆。 用域名访问服务器的话,计算机先回向域名服务器(dns)请求把域名翻译成IP地址,然后再去用ip地址访问服务器。
IP地址是机器语言形式的服务器地址(相当于上面的xx家),这个是网络底层实际使用的地址,主要是机器来处理的。