shadow1ng/fscan · error
netbios_no_name_records
Error message
netbios_no_name_records
What it means
Guard in parseNetBIOSNames: the response passed the minimum-length check but the name-record count byte (data[56]) is zero, so the server reported no NetBIOS names. There is no name data to extract and the info stays invalid.
Source
Thrown at plugins/services/netbios.go:272
if err != nil {
return nil, fmt.Errorf("%s: %w", i18n.GetText("netbios_smb_session_read_failed"), err)
}
return p.parseNetBIOSSession(response2[:n])
}
// parseNetBIOSNames 解析NetBIOS名称查询响应
func (p *NetBIOSPlugin) parseNetBIOSNames(data []byte) (*NetBIOSInfo, error) {
info := &NetBIOSInfo{Valid: false}
if len(data) < 57 {
return info, fmt.Errorf("%s", i18n.GetText("netbios_response_too_short"))
}
// 获取名称记录数量
numNames := int(data[56])
if numNames == 0 {
return info, fmt.Errorf("%s", i18n.GetText("netbios_no_name_records"))
}
nameData := data[57:]
// 服务类型映射
uniqueNames := map[byte]string{
0x00: "WorkstationService",
0x03: "Messenger Service",
0x06: "RAS Server Service",
0x1F: "NetDDE Service",
0x20: "ServerService",
0x21: "RAS Client Service",
0x1D: "Master Browser",
0x1B: "Domain Master Browser",
}
groupNames := map[byte]string{
0x00: "DomainName",View on GitHub (pinned to 95cc12e753)
Solutions
- Confirm the target exposes NetBIOS names (some hosts disable the service)
- Query via TCP 139 instead of UDP 137
- Check whether a firewall mangled the response
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at plugins/services/netbios.go:272 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of shadow1ng/fscan@95cc12e753 (2026-09-06).
Data as JSON: /api/errors/797eaabf1183be14.
Report an issue: GitHub.