• TCP端口扫描


    # TCP三次握手
    第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
    完成三次握手,客户端与服务器开始传送数据。
     
    # 端口扫描类型
    ## TCP connect扫描
    全连接扫描,此扫描与每个TCP端口进行3次握手通信。成功建立连接,则证明端口开放,否则为关闭。准确度很高,但是容易被防火墙和IDS检测到,并且在目标主机日志会有记录。
     
    ## TCP SYN扫描
    端口开放:client发送SYN,server端回复SYN/ACK,client发送RST断开
    端口关闭:client发送SYN,server端回复RST
     
    ## 秘密扫描
    秘密扫描是一种不被审计工具所检测的扫描技术。它通常用于在通过普通的防火墙或路由器的筛选时隐藏自己。秘密扫描能躲避IDS、防火墙、包过滤器和日志审计,从而获取目标端口的开放或关闭的信息。由于没有包含TCP3次协议的任何部分,所以无法被记录下来,比半连接扫描更为隐藏。但是这种扫描的缺点是扫描结果的不可靠性会增加,而且扫描主机也需要自己构造IP包。
     
    TCP FIN扫描
    端口开放:client发送FIN,server没有响应
    端口关闭:client发送FIN,server回复RST
     
    TCP ACK扫描
    端口开放:client发送ACK,server回复RST数据包TTL<=64
    端口关闭:client发送ACK,server回得RST数据包TTL>64
     
    NULL扫描
    端口开放:client发送NULL,server没有响应
    端口关闭:client发送NULL,server回复RST
     
    TCP XMAS扫描
    端口开放:client发送USG/PSH/FIN,server没有响应
    端口关闭:client发送USG/PSH/FIN,server回复RST
     
    SYN/ACK扫描
    ## 其他扫描
    UDP扫描
    IP头信息dump扫描
    IP分段扫描
    慢速扫描
    乱序扫描
     
    ## TCP FLAGS
    SYN(synchronous建立联机) SYN表示建立连接
    FIN(finish结束) FIN表示关闭连接
    ACK(acknowledgement 确认) ACK表示响应
    PSH(push传送) PSH表示有DATA数据传输
    RST(reset重置) RST表示连接重置
    URG(urgent紧急)
    Sequence number(顺序号码)
    Acknowledge number(确认号码)
     
    当FIN之后出现RST=1时,表示的是连接重置
    当出现FIN包或RST包时,我们便认为客户端与服务器端断开了连接
    当出现SYN和SYN+ACK包时,我们认为客户端与服务器建立了一个连接
    当出现SYN=ACK=1时,表示的就是建立连接之后的响应
    当出现PSH=1时,表示的是有真正的TCP数据包内容被传递
    SYN与FIN是不会同时为1的,因为SYN表示建立连接,而FIN表示断开连接
     



  • 相关阅读:
    笔记0510
    笔记0514
    笔记0521
    GridView专题
    笔记0418
    笔记0516
    笔记0515
    笔记0507
    Python 安装与环境变量配置
    ffmpeg 下载安装和简单应用
  • 原文地址:https://www.cnblogs.com/bigcat47/p/9798973.html
Copyright © 2020-2023  润新知