Nmap 扫描原理及使用 ***
Nmap 扫描原理及使用 ***
Namp包含四项基本功能
Nmap基本扫描 ***
2.1 用法引入
2.1.1确定端口状况
确定目标主机在线情况及端口基本状况。
命令形式:
namp targethost
2.1.2 完整全面的扫描
对主机进行完整全面的扫描,那么可以使用nmap内置的-A选项。使用该选项,nmap 对主机进行主机发现、端口扫描、应用程序与版本侦测、操作系统侦测及调用默认NSE脚本扫描。
1)命令形式:
nmap -T4 -A -v targethost
2)参数详解:
2.2 主机发现
2.2.1 主机发现原理
主机发现发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,说明目标主机是开启的。
1)常见主机探测方式:
2)案例:
Nmap的用户位于源端,IP地址192.168.0.5,向目标主机192.168.0.3发送ICMP Echo Request。如果该请求报文没有被防火墙拦截掉,那么目标机会回复ICMP Echo Reply包回来。以此来确定目标主机是否在线。
3)默认情况下:Nmap会发送四种不同类型的数据包来探测目标主机是否在线。
依次发送四个报文探测目标机是否开启。只要收到其中一个包的回复,那就证明目标机开启。使用四种不同类型的数据包可以避免因防火墙或丢包造成的判断错误。
2.2.2 主机发现的用法
2.3 端口扫描
Namp通过探测将端口划分为6个状态:
2.3.1 端口扫描原理
2.3.1.1 TCP SYN scanning
TCP SYN scanning 是Nmap默认的扫描方式,称作半开放扫描。
原理:该方式发送SYN到目标端口。
2.3.1.2 TCP connect scanning
原理:TCP connect 方式使用系统 *** API connect 向目标主机的端口发起连接。
优缺点:该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标机上留下记录信息,不够隐蔽。所以,TCP connect是TCP SYN无法使用才考虑选择的方式。
2.3.1.3 TCP ACK scanning
原理:向目标主机的端口发送ACK包。
优缺点:该方式只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。
2.3.1.4 TCP FIN/Xmas/NULL scanning
这三种扫描方式被称为秘密扫描(Stealthy Scan)
原理:FIN扫描向目标主机的端口发送的TCP FIN包或Xmas tree包/Null包
其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;NULL包是指所有flags都为0的TCP包。
2.3.1.5 UDP scanning
UDP扫描方式用于判断UDP端口的情况。
原理:向目标主机的UDP端口发送探测包。
2.3.2 端口扫描用法
2.3.2.1 扫描方式选项
2.3.2.2 端口参数与扫描顺序
2.4 版本侦测
2.4.1 优缺点
2.4.2 版本侦测原理
2.4.3 版本侦测用法
2.5 OS侦测
2.5.1 OS侦测原理
2.5.2 OS侦测用法
参考:
网件要不要禁用端口扫描和 DoS 保护
不能禁用
开放端口可能会带来多种风险,如暴露您的 *** 漏洞为入侵提供可乘之机,从而威胁您 *** 的安全性和可用性。为了应对开放端口带来的风险, *** 管理员需要依靠端口扫描工具来识别、检查、分析和关闭 *** 中的开放端口。
端口扫描工具使用三个常用术语来确定扫描端口的状态——关闭、过滤和打开。
关闭端口:这些 *** 端口完全拒绝所有指向它们的数据包,并且禁止任何传入或传出流量。过滤端口:这些端口的进出流量由防火墙等 *** *** 进行管理。任何未经防火墙授权的流量或数据包都会被忽略或丢弃。
开放端口:当有应用程序或服务侦听该端口并且可以从 *** 外部访问该端口时,该端口的状态被认为是开放的。
如何能够做到扫描过程中不被对方的防火墙 发现?
用TCP包和UDP包可穿过(HTTP暗藏通道)
防火墙在某种意义上是很愚蠢的,管理员对防火墙的过分依赖以及从而产生的懈怠情绪将不可避免的形成安全上的重大隐患,作为一个证明,"通道"技术就是一个很好的例子
这里所谓的通道,是指一种绕过防火墙端口屏蔽的通讯方式。防火墙两端的数据包封装在防火墙所允许通过的数据包类型或是端口上,然后穿过防火墙与对端通讯,当封装的数据包到达目的地时,再将数据包还原,并将还原后的数据包交送到相应的服务上。举例如下:
A主机系统在防火墙之后,受防火墙保护,防火墙配置的访问控制原则是只允许80端口的数据进出,B主机系统在防火墙之外,是开放的。现在假设需要从A系统Telnet到B系统上去,怎么办?使用正常的telnet肯定是不可能了,但我们知道可用的只有80端口,那么这个时候使用Httptunnel通道,就是一个好的办法,思路如下:
在A机器上起一个tunnel的client端,让它侦听本机的一个不被使用的任意指定端口,如1234,同时将来自1234端口上的数据指引到远端(B机)的80端口上(注意,是80端口,防火墙允许通过),然后在B机上起一个server,同样挂接在80端口上,同时指引80端口的来自client的转发到本机的telnet服务端口23,这样就ok了。现在在A机上telnet本机端口1234,根据刚才的设置数据包会被转发到目标端口为80的B机,因为防火墙允许通过80端口的数据,因此数据包畅通的穿过防火墙,到达B机。此时B机在80端口侦听的进程收到来自A的数据包,会将数据包还原,再交还给telnet进程。当数据包需要由B到A返回时,将由80端口再回送,同样可以顺利的通过防火墙。
端口扫描的基本原理是什么?端口扫描技术分哪几类?
端口扫描的基本原理就是看指定的端口是否开放。
技术就是尝试连接指定的端口,分类的话有2个,
1、半连接连接(syn扫描,不完成3次握手)
2、全连接 (完成3次握手)
0条大神的评论