package findnet import ( "github.com/shadow1ng/fscan/plugins/adapters" "github.com/shadow1ng/fscan/plugins/base" LegacyPlugins "github.com/shadow1ng/fscan/plugins/legacy" ) // NewFindNetPlugin 创建FindNet网络发现插件 func NewFindNetPlugin() base.Plugin { // 插件元数据 metadata := &base.PluginMetadata{ Name: "findnet", Version: "1.0.0", Author: "fscan-team", Description: "Windows网络接口发现和主机名解析 (通过RPC)", Category: "service", Ports: []int{135}, // RPC端口 Protocols: []string{"tcp"}, Tags: []string{"findnet", "rpc", "information-gathering", "windows", "network-discovery"}, } // 适配器选项 options := &adapters.LegacyPluginOptions{ CheckBruteFlag: false, // FindNet不依赖暴力破解标志 IsVulnPlugin: false, // 这不是漏洞检测插件 IsInfoPlugin: true, // 这是信息收集插件 CustomPorts: []int{135}, // RPC端口 } // 创建适配器,直接使用老版本的Findnet函数 return adapters.NewLegacyPlugin(metadata, LegacyPlugins.Findnet, options) } // init 自动注册FindNet插件 func init() { // 创建插件工厂 metadata := &base.PluginMetadata{ Name: "findnet", Version: "1.0.0", Author: "fscan-team", Description: "Windows网络接口发现和主机名解析 (通过RPC)", Category: "service", Ports: []int{135}, Protocols: []string{"tcp"}, Tags: []string{"findnet", "rpc", "information-gathering", "windows", "network-discovery"}, } factory := base.NewSimplePluginFactory(metadata, func() base.Plugin { return NewFindNetPlugin() }) base.GlobalPluginRegistry.Register("findnet", factory) }