Recog指纹库详解:30+协议类型与匹配场景全解析
Recog指纹库详解30协议类型与匹配场景全解析【免费下载链接】recogPattern recognition for hosts, services, and content项目地址: https://gitcode.com/gh_mirrors/re/recogRecog是一个强大的指纹识别框架专门用于通过模式匹配技术识别网络服务、操作系统和硬件设备。这个开源项目由Rapid7维护提供了超过50种协议类型的指纹库能够从各种网络探测返回的数据中提取有价值的信息。对于网络安全从业者、系统管理员和开发人员来说Recog是一个不可或缺的工具能够快速识别网络环境中的服务和设备。 Recog指纹库核心功能概览Recog的核心价值在于其庞大的指纹数据库这些指纹以XML格式存储在项目的xml/目录中。每个指纹文件都针对特定的协议响应字符串或字段进行设计能够精确识别服务版本、厂商信息、操作系统类型等关键信息。主要协议类型分类Recog指纹库覆盖了网络安全的多个层面主要包括以下几大类协议1. Web服务协议 (HTTP相关)HTTP服务器识别http_servers.xmlHTTP Cookie分析http_cookies.xmlHTTP认证头识别http_wwwauth.xmlHTTP X-Powered-By头http_xpoweredby.xml网站图标指纹favicons.xml2. 邮件服务协议SMTP服务器识别smtp_banners.xmlSMTP命令响应smtp_ehlo.xml,smtp_help.xml,smtp_vrfy.xml等POP3服务器pop_banners.xmlIMAP服务器imap_banners.xml3. 远程访问协议SSH服务器识别ssh_banners.xmlTelnet服务器telnet_banners.xmlFTP服务器ftp_banners.xmlRSH响应rsh_resp.xml4. 数据库服务MySQL服务器mysql_banners.xmlMySQL错误信息mysql_error.xmlLDAP搜索响应ldap_searchresult.xml5. 网络基础设施DNS版本信息dns_versionbind.xmlSNMP系统描述snmp_sysdescr.xmlSNMP系统OIDsnmp_sysobjid.xmlNTP服务器ntp_banners.xmlDHCP厂商类dhcp_vendor_class.xml6. 多媒体与通信协议SIP服务器sip_banners.xmlSIP用户代理sip_user_agents.xmlRTSP服务器rtsp_servers.xmlH.323呼叫响应h323_callresp.xml7. 操作系统与硬件识别操作系统识别operating_system.xml系统架构architecture.xmlApache操作系统apache_os.xmlApache模块apache_modules.xmlHP PJL标识hp_pjl_id.xml8. 安全与加密协议TLS JARM指纹tls_jarm.xmlX.509证书签发者x509_issuers.xmlX.509证书主题x509_subjects.xml 指纹匹配工作原理Recog的指纹匹配基于正则表达式模式识别技术。每个指纹文件都包含多个fingerprint元素每个元素定义了匹配特定服务响应的模式。让我们通过一个实际例子来了解指纹的结构fingerprints matchesssh.banner fingerprint pattern^OpenSSH_([\d\.]) descriptionOpenSSH Server/description example service.version8.9OpenSSH_8.9/example param pos0 nameservice.vendor valueOpenBSD/ param pos0 nameservice.product valueOpenSSH/ param pos1 nameservice.version/ /fingerprint /fingerprints关键组件解析1. 模式匹配 (pattern)使用正则表达式定义匹配规则支持捕获组提取版本信息等动态数据示例^Apache/([\d\.])匹配Apache服务器版本2. 示例数据 (example)提供测试用例验证指纹准确性可包含预期提取的参数值支持Base64编码处理特殊字符3. 参数提取 (param)pos0表示静态值pos1表示从第一个捕获组提取支持参数值插值value{hw.product} 实战应用场景场景一Web服务器识别使用Recog识别HTTP服务器的厂商和版本信息非常简单# 从HTTP Server头识别Apache服务器 echo -n Apache/2.4.38 (Debian) | bin/recog_match xml/http_servers.xml - # 输出结果示例 MATCH: { matched: Apache, service.vendor: Apache, service.product: HTTPD, service.family: Apache, service.version: 2.4.38, service.cpe23: cpe:/a:apache:http_server:2.4.38, apache.info: (Debian) }场景二FTP服务器指纹识别通过FTP服务横幅识别服务器类型# 识别Microsoft FTP服务 echo -n 220 Microsoft FTP Service | bin/recog_match xml/ftp_banners.xml - # 使用nmap扫描结合Recog nmap -sV -scriptbanner -p 21 target.com | grep _banner | cut -d: -f2- | bin/recog_match xml/ftp_banners.xml -场景三TLS服务器JARM指纹基于JARM技术识别TLS服务器# 识别Metasploit监听器 echo -n 07d14d16d21d21d07c42d43d000000f50d155305214cf247147c43c0f1a823 | bin/recog_match xml/tls_jarm.xml - # 使用JARM工具获取指纹 python3 jarm.py -p 443 target.com | grep JARM: | awk -F: {print $2} | bin/recog_match xml/tls_jarm.xml - 项目结构与文件组织Recog项目采用清晰的目录结构便于管理和维护recog/ ├── xml/ # 指纹库目录 │ ├── http_servers.xml # HTTP服务器指纹 │ ├── ssh_banners.xml # SSH服务器指纹 │ ├── ftp_banners.xml # FTP服务器指纹 │ ├── smtp_banners.xml # SMTP服务器指纹 │ └── ... (50个指纹文件) ├── identifiers/ # 标识符定义 │ ├── vendor.txt # 厂商标识符 │ ├── os_product.txt # 操作系统产品标识符 │ ├── hw_product.txt # 硬件产品标识符 │ └── ... ├── bin/ # 命令行工具 │ ├── recog_match # 指纹匹配工具 │ ├── recog_verify # 指纹验证工具 │ ├── recog_export # 指纹导出工具 │ └── recog_cleanup # 指纹清理工具 └── features/ # 测试用例 高级功能特性1. CPE自动生成Recog能够自动生成Common Platform Enumeration (CPE)标识符这对于漏洞管理和资产跟踪至关重要param pos0 nameservice.cpe23 valuecpe:/a:apache:http_server:{service.version}/2. 临时参数支持使用_tmp前缀的参数进行中间计算不污染最终输出fingerprint pattern^foo baz switchThing-(\d{4})$ descriptionNetCorp NX系列交换机/description example hw.productNX8200foo baz switchThing-8200/example param pos0 namehw.vendor valueNetCorp/ param pos0 namehw.product valueNX{_tmp.001}/ param pos2 name_tmp.001/ /fingerprint3. 多语言支持Recog框架提供了多种编程语言实现Ruby: rapid7/recog-rubyJava: rapid7/recog-javaGo: runZeroInc/recog-go 最佳实践指南1. 指纹开发规范开发新的指纹时请遵循以下最佳实践提供充分的测试用例每个指纹至少包含3-5个真实的示例使用准确的描述清晰说明指纹匹配的服务或设备包含完整的参数提供vendor、product、version等关键信息支持CPE生成为安全工具集成提供标准化的漏洞标识2. 性能优化建议正则表达式优化避免过于复杂的正则表达式提高匹配效率指纹排序将最常见的指纹放在文件前面减少匹配时间避免重复匹配确保指纹之间没有重叠或冲突3. 集成使用技巧Recog可以轻松集成到各种安全工具和工作流中# 批量处理网络扫描结果 cat scan_results.txt | while read line; do echo $line | bin/recog_match xml/http_servers.xml - done # 自动化资产识别管道 nmap -sV -oG - target.com | \ grep open | \ cut -f2,4 | \ while read port banner; do echo $banner | bin/recog_match xml/${port}_banners.xml - 2/dev/null done 实际应用案例案例一企业资产发现一家中型企业使用Recog进行网络资产盘点扫描阶段使用nmap进行全端口扫描提取横幅收集所有服务的banner信息指纹匹配使用Recog识别服务类型和版本资产分类生成详细的资产清单和漏洞报告通过这个过程企业发现了15个未打补丁的Apache服务器8个使用旧版本OpenSSH的系统3个暴露的MySQL数据库案例二红队渗透测试渗透测试团队使用Recog加速信息收集# 快速识别Web技术栈 curl -sI http://target.com | \ grep -i server\|x-powered-by\|set-cookie | \ while read header; do value$(echo $header | cut -d: -f2-) echo $value | bin/recog_match xml/http_servers.xml - echo $value | bin/recog_match xml/http_xpoweredby.xml - echo $value | bin/recog_match xml/http_cookies.xml - done 未来发展方向Recog项目持续发展未来可能增加的功能包括AI增强识别结合机器学习提高指纹匹配准确率云服务识别增加对AWS、Azure、GCP等云服务的指纹物联网设备扩展对IoT设备的识别能力容器技术增加对Docker、Kubernetes等容器技术的支持API集成提供RESTful API服务方便工具集成 学习资源与社区官方文档项目READMEREADME.md贡献指南CONTRIBUTING.md指纹规范fingerprints.xsd实用工具指纹匹配工具bin/recog_match指纹验证工具bin/recog_verify指纹导出工具bin/recog_export社区支持问题报告GitHub Issues代码贡献Pull Requests讨论交流社区论坛 总结与建议Recog指纹库作为网络安全领域的重要工具提供了强大而灵活的服务识别能力。通过50多种协议类型的覆盖和精确的模式匹配它能够帮助安全团队快速识别网络环境中的服务和设备。对于初学者建议从http_servers.xml和ssh_banners.xml开始学习这两个文件包含了最常用的指纹模式。对于中级用户可以尝试集成Recog到现有的安全工具链中如与nmap、masscan等扫描工具结合使用。对于高级用户考虑贡献新的指纹或优化现有指纹参与社区建设。无论您是安全研究人员、系统管理员还是开发人员Recog都能为您提供强大的服务识别能力。通过合理利用这个工具您可以显著提高网络资产管理的效率和准确性。立即开始使用Recoggit clone https://gitcode.com/gh_mirrors/re/recog cd recog bundle install开始您的指纹识别之旅探索网络世界的无限可能【免费下载链接】recogPattern recognition for hosts, services, and content项目地址: https://gitcode.com/gh_mirrors/re/recog创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

分析报告】量身定制:基于大数据的行业痛点与蓝海机遇挖掘

分析报告】量身定制:基于大数据的行业痛点与蓝海机遇挖掘

【分析报告】量身定制:基于大数据的行业痛点与蓝海机遇挖掘 深夜,你盯着电脑屏幕上密密麻麻的行业数据,从国家统计局到各大咨询公司的白皮书,资料下载了十几个G,PPT做了几十页,但老板那句“所以&#xff0…

2026/7/6 17:27:07 阅读更多 →
ReVanced Integrations 完全指南:掌握 YouTube 增强插件的核心组件库

ReVanced Integrations 完全指南:掌握 YouTube 增强插件的核心组件库

ReVanced Integrations 完全指南:掌握 YouTube 增强插件的核心组件库 【免费下载链接】revanced-integrations 🔩 ReVanced Integrations containing classes to be merged by ReVanced Patcher 项目地址: https://gitcode.com/gh_mirrors/re/revanced…

2026/7/6 17:27:07 阅读更多 →
Redis-Lua在Web开发中的应用:构建高性能Lua后端服务的实战案例

Redis-Lua在Web开发中的应用:构建高性能Lua后端服务的实战案例

Redis-Lua在Web开发中的应用:构建高性能Lua后端服务的实战案例 【免费下载链接】redis-lua A Lua client library for the redis key value storage system. 项目地址: https://gitcode.com/gh_mirrors/re/redis-lua Redis-Lua是一个纯Lua编写的Redis客户端库…

2026/7/6 17:24:58 阅读更多 →

最新新闻

M3u8Downloader_H未来路线图:即将推出的新功能与改进计划

M3u8Downloader_H未来路线图:即将推出的新功能与改进计划

M3u8Downloader_H未来路线图:即将推出的新功能与改进计划 【免费下载链接】M3u8Downloader_H m3u8下载器,功能强大,多线程,多任务,支持aes-128-cbc解密,自定义请求头,自定义插件 项目地址: https://gitcode.com/gh_mirrors/m3/M3u8Downloader_H M3u8Download…

2026/7/6 18:15:59 阅读更多 →
Notepad--:一款真正为中文用户打造的跨平台文本编辑器,5分钟上手指南

Notepad--:一款真正为中文用户打造的跨平台文本编辑器,5分钟上手指南

Notepad--:一款真正为中文用户打造的跨平台文本编辑器,5分钟上手指南 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trendi…

2026/7/6 18:13:58 阅读更多 →
Encog多线程训练指南:充分利用多核CPU加速机器学习

Encog多线程训练指南:充分利用多核CPU加速机器学习

Encog多线程训练指南:充分利用多核CPU加速机器学习 【免费下载链接】encog-java-core 项目地址: https://gitcode.com/gh_mirrors/en/encog-java-core 在当今的机器学习应用中,训练时间往往成为瓶颈。Encog机器学习框架提供了强大的多线程训练功…

2026/7/6 18:11:56 阅读更多 →
如何构建完全自主掌控的AI知识库?开源方案让数据隐私与智能分析兼得

如何构建完全自主掌控的AI知识库?开源方案让数据隐私与智能分析兼得

如何构建完全自主掌控的AI知识库?开源方案让数据隐私与智能分析兼得 【免费下载链接】open-notebook An Open Source implementation of Notebook LM with more flexibility and features 项目地址: https://gitcode.com/GitHub_Trending/op/open-notebook 在…

2026/7/6 18:11:56 阅读更多 →
git-peek未来路线图:社区反馈与功能规划展望

git-peek未来路线图:社区反馈与功能规划展望

git-peek未来路线图:社区反馈与功能规划展望 【免费下载链接】git-peek git repo to local editor instantly 项目地址: https://gitcode.com/gh_mirrors/gi/git-peek 想要快速预览远程Git仓库代码?git-peek工具为您提供了终极解决方案&#xff0…

2026/7/6 18:11:56 阅读更多 →
date-io核心原理:为什么它能成为日期库的万能适配器?

date-io核心原理:为什么它能成为日期库的万能适配器?

date-io核心原理:为什么它能成为日期库的万能适配器? 【免费下载链接】date-io Abstraction over common javascript date management libraries 项目地址: https://gitcode.com/gh_mirrors/da/date-io date-io是一个针对JavaScript日期管理库的…

2026/7/6 18:05:50 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻