- 博客(15)
- 收藏
- 关注
原创 NetBIOS实现主机探测(包含完整实现代码)
本文介绍了NetBIOS协议及其探测原理。NetBIOS是IBM开发的局域网协议,提供名称解析、服务发现和会话管理功能,主要通过UDP 137端口工作。探测原理基于发送NetBIOS状态查询包,根据响应判断主机存活状态。代码设计采用两阶段扫描架构:先进行TCP端口扫描确定存活主机,再针对性地探测NetBIOS服务。详细分析了构造探测数据、建立连接、发送请求和验证响应的代码实现过程,包括状态判断标准(alive/filtered/dead)和协议验证方法。最后提供了开源工具链接供参考。
2025-12-13 17:48:51
794
原创 OXID 实现主机探测(包含完整实现代码)
本文介绍了基于OXID解析器的Windows主机探测技术,通过RPC服务的135端口判断主机存活状态。文章详细解析了OXID解析器的工作原理和RPC架构,包括EPM服务和OXID解析器的功能分工。提出了三层递进式探测策略:EPM绑定探测(最精确)、基本RPC验证(中等)和空请求检查(最宽松)。核心模块设计了三种探测数据包构造方法,并实现了严格响应验证机制防止误报。该技术通过构造特定RPC请求并分析响应包,能有效识别运行RPC服务的Windows主机,为网络探测提供了一种可靠方法。
2025-12-13 17:29:58
1066
原创 ICMP Address Mask 实现主机探测(包含完整实现代码)
本文介绍了基于ICMP地址掩码请求的主机探测技术。通过发送类型17的ICMP地址掩码请求包,分析目标主机是否返回类型18的地址掩码回复来判断主机存活状态。文章详细阐述了地址掩码概念、探测原理(包括请求/回复报文结构)和四层响应验证机制(IP来源、ICMP类型、数据长度、ID/序列号匹配)。最后提供了Go语言实现的核心代码分析,包括ICMP连接创建、请求构造、响应监听与验证等关键步骤。该方法可作为传统ICMP ping探测的有效补充,适用于网络设备发现场景。
2025-12-11 12:45:06
859
原创 ICMP TIMESTAMP 实现主机探测(包含完整实现代码)
这里进行第二种常用的icmp探测方法,通过发送时间戳请求进行探测,下面我详细讲解一下。初始化阶段:准备目标列表,初始化数据结构并发探测阶段:启动多个协程并发发送时间戳请求响应处理阶段:异步接收并验证响应数据结果汇总阶段:收集所有探测结果并输出统计信息这种设计既保证了扫描效率,又确保了程序的稳定性和准确性,能够有效地发现网络中响应 ICMP 时间戳请求的存活主机。
2025-12-11 11:00:21
864
原创 UDP 实现主机探测(包含完整实现代码)
摘要:本文介绍了基于UDP探测的主机存活检测方法,通过结合UDP端口扫描和ICMP响应监听实现。该方法使用双套接字机制:UDP套接字发送探测数据并监听端口响应,原始ICMP套接字捕获ICMP反馈(如端口不可达、目标不可达或TTL超时)。为提高准确性,代码实现了两层循环并发扫描和响应去重处理。文章指出Windows Defender防火墙可能影响检测准确性,并提供了GitHub源码链接。该方法可作为网络探测工具的重要组成部分。
2025-12-10 15:02:48
478
原创 TCP SYN 实现主机探测(包含完整实现代码)
本文介绍了使用TCPSYN方法探测主机存活的实现原理。该方法基于端口扫描技术,通过修改扫描逻辑实现主机探测:采用两层循环和并发机制扫描所有主机的常见端口,只要任一端口能建立TCP连接即判定主机存活,最后进行去重输出。文章详细说明了RST判断逻辑的改进,可区分端口开放、防火墙状态和主机存活情况。源代码已开源在GitHub项目中,作者希望通过文章整理相关知识点,并欢迎指正工具和内容中的问题。
2025-12-10 14:38:08
379
原创 TCP CONNECT 实现主机探测(包含完整实现代码)
摘要:本文介绍了基于TCPCONNECT的主机探测方法,通过TCP三次握手验证主机存活状态。该方法通过遍历IP地址和常见端口并发建立TCP连接,只要任一端口连接成功即判定主机在线,最后对结果去重输出。文章阐述了探测原理、代码设计思路(包括双层循环和并发处理),并提供了源代码链接。该方法本质是TCP端口扫描的变体,利用系统内置协议处理简化了实现难度。
2025-12-09 14:46:08
516
原创 ARP 实现主机探测(包含完整实现代码)
本文针对ARP实现主机探测进行讲解,从pcap的讲解到ARP原理详细解析,再到代码分析,最后给出了实现的源代码。
2025-12-09 14:25:02
1154
原创 ICMP PING 实现主机探测(包含完整实现代码)
本文介绍了ICMP协议原理及基于Go语言的Ping探测实现。主要内容包括:1. ICMP协议基础:ICMP是网络控制协议,不传输用户数据,直接封装在IP包中;2. Ping探测原理:使用ICMP Echo Request/Reply报文进行主机存活检测,核心字段包括类型/代码、校验和、标识符和序列号;3. Go实现方案:利用icmp包跨平台特性,通过原始套接字发送请求并解析响应,包含并发控制、超时处理等关键技术;4. 代码分析:详细解析了地址处理、报文构造、序列化发送及响应解析等核心流程。
2025-12-08 23:55:57
900
原创 UDP 实现端口扫描(包含完整实现代码)
本文详细介绍了UDP端口扫描的原理与实现方法。UDP扫描与TCP扫描存在本质差异,主要依赖ICMP错误消息和应用层响应来判断端口状态。文章分析了常见UDP服务(如DNS、RPC Portmap、NTP、SNMP、NetBIOS等)的探测数据包构造方法,并提供了完整的Go语言实现代码。扫描器采用协议感知的探测策略,针对不同端口发送特定协议数据包,通过监听响应来判断端口状态。相比TCP扫描,UDP扫描需要更长的超时等待,且结果可能包含"开放"、"开放|过滤"等多种状态。
2025-12-08 11:03:58
982
原创 TCP NULL 实现端口扫描(包含完整实现代码)
摘要:TCP NULL扫描是一种隐蔽的端口探测技术,通过发送无标志位的TCP数据包实现。根据RFC793规范,开放端口会忽略该数据包,关闭端口则会返回RST响应。本文详细介绍了TCP NULL扫描的工作原理、判断逻辑及优缺点,并提供了完整的Go语言实现代码。该技术比SYN扫描更隐蔽,但受限于操作系统对RFC规范的遵循程度。代码实现包括数据包构造、发送和响应分析等功能,需要root权限运行。
2025-12-07 11:21:53
497
原创 TCP FIN 实现端口扫描(包含完整实现代码)
本文介绍了TCP FIN扫描技术及其实现原理。首先解释了RFC文档作为互联网技术标准的作用,重点分析了RFC793对TCP协议中FIN包处理的规定(开放端口应忽略FIN包,关闭端口应返回RST)。但实际测试发现多数操作系统(如Windows、Linux)并不严格遵循该规范,导致FIN扫描效果存在差异。文章详细阐述了FIN扫描的理论基础、优势(隐蔽性强)和不同系统下的响应特点,并提供了完整的Go语言实现代码,包括数据包构造、发送和响应分析逻辑。最后指出该技术因系统兼容性问题而应用受限,适合作为补充扫描手段使用
2025-12-07 10:47:01
917
原创 TCP ACK 实现端口扫描(包含完整实现代码)
本文详细介绍了TCP ACK扫描技术,这是一种用于检测防火墙过滤状态的端口扫描方法。文章从技术原理入手,解释了通过发送非法ACK包来判断端口是否被过滤的机制:当收到RST响应时表示端口未被过滤,无响应则可能被防火墙过滤。同时分析了ACK扫描与传统SYN扫描的区别,指出其无法区分端口开放状态但能有效探测防火墙规则的特性。文章还提供了完整的Go语言实现代码,包括数据包构造、发送接收和结果分析等关键模块,并强调运行需要root权限。这种扫描技术在网络攻防中具有重要价值,能帮助识别防火墙的过滤策略。
2025-12-06 17:44:06
1094
原创 TCP SYN 实现端口扫描(包含完整实现代码)
本文介绍了TCP SYN端口扫描技术的原理与实现。SYN扫描是一种隐蔽的半开扫描方式,通过发送SYN包但不完成TCP三次握手来探测端口状态。文章详细讲解了网络基础知识,包括Socket概念、IP地址、MAC地址和校验和计算等核心内容。在技术实现层面,分析了如何构造原始TCP数据包、计算校验和、发送SYN包并解析响应。文中提供了完整的Go语言实现代码,展示了如何获取本地IP和端口、构造网络层包头、创建原始套接字以及处理扫描结果。该扫描方法需要root权限运行,相比全连接扫描更隐蔽,适用于网络安全评估场景。
2025-12-06 12:49:33
925
原创 TCP CONNECT 实现端口扫描 (包含完整实现代码)
本文基于Go语言设计了一个TCP Connect端口扫描工具,通过建立完整TCP连接来判断端口开放状态。文章首先介绍了TCP协议的三次握手和四次挥手过程,然后详细阐述了TCP Connect扫描原理:通过net.DialTimeout尝试建立连接,成功完成三次握手则判定端口开放。相比其他扫描方式,TCP Connect扫描不需要特殊权限但容易被日志记录。代码实现采用goroutine并发机制提升扫描效率,通过WaitGroup和Mutex保证线程安全。该工具能快速检测目标主机的开放端口,适用于多种场景。
2025-12-05 22:40:43
1147
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅