package netbios import ( "github.com/shadow1ng/fscan/plugins/adapter" "github.com/shadow1ng/fscan/plugins/base" Plugins "github.com/shadow1ng/fscan/plugins" ) // NewNetBiosPlugin 创建NetBIOS信息收集插件 func NewNetBiosPlugin() base.Plugin { // 插件元数据 metadata := &base.PluginMetadata{ Name: "netbios", Version: "1.0.0", Author: "fscan-team", Description: "NetBIOS信息收集和主机名解析", Category: "information", Ports: []int{139, 445}, // NetBIOS端口 Protocols: []string{"tcp", "udp"}, Tags: []string{"netbios", "information-gathering", "hostname", "smb"}, } // 适配器选项 options := &adapter.LegacyPluginOptions{ CheckBruteFlag: false, // NetBIOS信息收集不依赖暴力破解标志 IsVulnPlugin: false, // 这不是漏洞检测插件 IsInfoPlugin: true, // 这是信息收集插件 CustomPorts: []int{139, 445}, // NetBIOS/SMB端口 } // 创建适配器,直接使用老版本的NetBIOS函数 return adapter.NewLegacyPlugin(metadata, Plugins.NetBIOS, options) } // init 自动注册NetBIOS插件 func init() { // 创建插件工厂 metadata := &base.PluginMetadata{ Name: "netbios", Version: "1.0.0", Author: "fscan-team", Description: "NetBIOS信息收集和主机名解析", Category: "information", Ports: []int{139, 445}, Protocols: []string{"tcp", "udp"}, Tags: []string{"netbios", "information-gathering", "hostname", "smb"}, } factory := base.NewSimplePluginFactory(metadata, func() base.Plugin { return NewNetBiosPlugin() }) base.GlobalPluginRegistry.Register("netbios", factory) }