【安全扫描器原理】端口扫描
【安全扫描器原理】端口扫描
- 1.端口扫描基本原理
- 2.TCP扫描
- 3.UDP扫描
- 4.手工扫描
1.端口扫描基本原理
以TCP端口为例,其原理是当一个主机向远端一个服务器的某一个端口提出建立连接的请求,如果对方有此项服务,就会同意建立连接,如果对方未安装此项服务时,则不会同意建立连接。利用这个原理,就可以通过程序自动对一段端口分别发出进行连接的请求,根据对方是否同意建立连接的结果,可以统计出远端的服务器都提供哪些服务
对于UDP端口,由于没有“连接”的概念,即使本机向远端主机某个UDP端口发送一个数据包,对方没有回复,也不能断定对方该端口是否处于“开”的状态。好在ICMP协议中,当向对方未提供服务的端口发送数据时,对方会自动回复一个“远端端口未打开”的错误,那么这个错误信息就可以作为端口“关”的依据,相反则认为该端口是开的
2.TCP扫描
高级TCP扫描通过非正常的三次握手,或不完整的三次握手,然后从这一过程中的异常三次握手的反应,判断出某个端口是否处于“开”的状态
1、TCP connect扫描
这是最基本的TCP扫描方式,其原理是直接使用系统提供的连接函数完成完整的三次握手
在Windows Socket2中是connect
函数,在CSocket类中是该类的