基于TCP和UDP的主机发现
探测主机存活端口开放服务类型系统类型课堂导入被动信息搜集主动信息搜集基于ICMP的主机发现屏蔽策略基于传输层的主机发现基于TCP的主机发现基于UDP的主机发现扫描结果不正确可靠用途广
知识目标掌握基于TCP的主机发现和端口状态的基本概念掌握基于UDP的主机发现的基本概念学会对应方法的脚本编写
TCP探测主机存活
TCP探测主机存活TCP是一种面向连接的、可靠的传输通信协议当向目标主机直接发送ACK数据包时,如果目标主机存活,就会返回一个RST数据包以终止这个不正常的连接。发送端接收端ACK数据包RST数据包三次握手原理
TCP探测主机存活发送正常的SYN数据包,如果目标主机返回SYN+ACK的数据包或RST数据包,也可以证明目标主机为存活状态。发送端接收端标有SYN数据包发你了明白(发送ACK数据包)收到数据包(发送SYN+ACK数据包)三次握手原理
TCP探测主机存活利用TCP探测目标主机存活的工作原理主要依据目标主机响应数据包中flags字段。flags字段有值,表示主机存活SYNFINACKPSHRSTURG
TCP探测主机存活根据以上TCP发现主机存活的原理,可编写相应的Python工具实现参数选项argparse多线程例(1-1)
实验结果展示该网段里各个主机是否存活TCP探测主机存活
UDP探测主机存活
UDP的探测流程UDP提供无连接的网络通信服务当向目标主机发送一个UDP数据包后,目标主机不会发回任何UDP数据包目标主机处于活跃状态目标端口是关闭状态时返回一个ICMP数据包数据包的状态是unreachable
UDP的探测流程根据以上UDP发现主机存活的原理,可编写相应Python工具实现UDP的探测流程相对简单例(3-1)
搜集结果信息基于UDP的主机发现实现很清晰UDP的探测流程
总结基于TCP的主机发现基于UDP的主机发现重点:主机发现脚本的编写