十大黑客工具之nmap( 三 )


TCP ACK 扫描(-sA)
向目标主机的端口发送ACK包

  • 如果收到RST包,说明该端口没有被防火墙屏蔽;
  • 没有收到RST包,说明被屏蔽 。
该方式只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况
TCP FIN/Xmas/NULL 扫描(-sN/sF/sX)
这三种扫描方式被称为秘密扫描,因为相对比较隐蔽 。
  • FIN扫描向目标主机的端口发送的TCP FIN 包或Xmas tree包或NULL包,如果收到对方的RST回复包,那么说明该端口是关闭的;没有收到RST包说明该端口可能是开放的或者被屏蔽了 。
  • 其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;
  • NULL包是指所有的flags都为0的TCP包 。
UDP扫描(-sU)
UDP扫描用于判断UDP端口的情况,向目标主机的UDP端口发送探测包
  • 如果收到回复ICMP port unreachable就说明该端口是关闭的;
  • 如果没有收到回复,那说明该UDP端口可能是开放的或者屏蔽的 。
因此,通过反向排除法的方式来判断哪些UDP端口是可能处于开放状态的 。
其他方式(-sY/-sZ)
除了以上几种常用的方式外,Nmap还支持多种其他的探测方式 。例如使用SCTP INIT/Cookie-ECHO方式是来探测SCTP的端口开放情况;使用IP protocol方式来探测目标主机支持的协议类型(tcp/udp/icmp/sctp等等);使用idle scan方式借助僵尸主机来扫描目标主机,以达到隐蔽自己的目的;或者使用FTP bounce scan,借助FTP允许的代理服务扫描其他的主机,同样达到隐蔽自己的目的
三:端口扫描用法扫描方式选项:
-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描 。-sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况 。-sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态 。--scanflags <flags>: 定制TCP包的flags 。-sI <zombiehost[:probeport]>: 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)-sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况 。-sO: 用IP protocol 扫描确定目标机支持的协议类型 。-b <FTP relay host>: 使用FTP bounce scan扫描方式端口参数与扫描顺序
-p <port ranges>: 扫描指定的端口实例:
  • -p 22;
  • -p1-65535;
  • -p U:53,111,137,T:21-25,80,139,8080,S:9(其中T代表TCP协议、U代表UDP协议、S代表SCTP协议)
  • -F: Fast mode – 快速模式,仅扫描TOP 100的端口
  • -r: 不进行端口随机打乱的操作(如无该参数,nmap会将要扫描的端口以随机顺序方式扫描,以让nmap的扫描不易被对方防火墙检测到) 。
  • --top-ports <number>:扫描开放概率最高的number个端口
  • --port-ratio <ratio>: 扫描指定频率以上的端口 。与上述--top-ports类似,这里以概率作为参数,让概率大于--port-ratio的端口才被扫描 。显然参数必须在在0到1之间,具体范围概率情况可以查看nmap-services文件
简单扫描(nmap ip)
nmap 202.207.236.2
十大黑客工具之nmap

文章插图
 
例如: nmap 202.207.236.2 这个命令会按照 nmap-services 文件中指定的端口进行扫描,然后列出目标主机开放的端口号,以及端口号上运行的服务 。在一次简单扫描中,Nmap会以默认TCP SYN扫描方式进行,仅判断目标端口是否开放,若开放,则列出端口对应的服务名称 。
探测端口开放过程: 确定主机在线之后,nmap会按照nmap-services文件中的端口号发送TCP SYN报文给主机相应的端口,如果主机回复一个包含TCP SYN、ACK的报文,则说明该端口号开放 。nmap会再回复一个TCP RST清除连接复位 。下面的截图是nmap是和目标主机的80号端口的探测过程,由此可见,目标主机的22号端口属于开放状态!
全面扫描(nmap -A ip)
nmap -A 192.168.1.250
十大黑客工具之nmap

文章插图
 

十大黑客工具之nmap

文章插图
 
例如: nmap -A 192.168.1.250 这个命令不仅列出目标主机开放的端口号,对应的服务,还较为详细的列出了服务的版本,其支持的命令,到达目标主机的每一跳路由等信息 。在进行完全扫描时,扫描机与目标主机之间存在大量的数据流量交互,扫描时长随之增加 。完全扫描不仅仅是TCP协议上的通信交互,还有例如ICMP、HTTP、NBSS、TDS、POP等等协议的交互,这些协议的交互是因为在完全扫描开始时首先对目标主机的开放端口进行了确认,之后再根据不同对应的不同服务进行服务版本信息探测、账户信息等信息的探测!


推荐阅读