{"record":{"id":"4f0bcc0c446dc9a8","repo":"projectdiscovery/nuclei","slug":"no-response-received","errorCode":null,"errorMessage":"no response received","messagePattern":"no response received","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/js/libs/telnet/telnet.go","lineNumber":264,"sourceCode":"\t// Use the MS-TNAP packet crafting functions from our telnetmini library\n\t// Create MS-TNAP Login Packet (Option Command IS) as per Nmap script\n\ttnapLoginPacket := telnetmini.CreateTNAPLoginPacket()\n\n\t// Send the MS-TNAP login packet\n\t_, err = conn.Write(tnapLoginPacket)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to send MS-TNAP login packet: %w\", err)\n\t}\n\n\t// Read response data\n\tbuffer := make([]byte, 4096)\n\tn, err := conn.Read(buffer)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to read response: %w\", err)\n\t}\n\n\tif n == 0 {\n\t\treturn nil, fmt.Errorf(\"no response received\")\n\t}\n\n\t// Parse NTLM response using our telnetmini library functions\n\tresponse := buffer[:n]\n\n\t// Use the parsing functions from our library instead of reimplementing\n\t// This should use the NTLM parsing functions we added to telnetmini\n\tntlmInfo, err := telnetmini.ParseNTLMResponse(response)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to parse NTLM response: %w\", err)\n\t}\n\n\treturn ntlmInfo, nil\n}\n","sourceCodeStart":246,"sourceCodeEnd":279,"githubUrl":"https://github.com/projectdiscovery/nuclei/blob/265b3a3dec374741614e342f813c10f8b38d2bb7/pkg/js/libs/telnet/telnet.go#L246-L279","documentation":"Thrown by telnet.DetectNTLM when the read returns successfully but zero bytes (n == 0 with no error). This means the peer closed its sending side or delivered an empty segment — the connection is up at the TCP level but the server contributed nothing to the NTLM exchange, so there is no response to parse.","triggerScenarios":"Server closes the connection immediately after receiving the MS-TNAP login packet; half-close behavior where the service shuts its write side; middlebox acknowledging TCP but suppressing payloads.","commonSituations":"Hardened telnet services dropping unrecognized option packets silently; devices that reset state on protocol violations without an RST visible to the reader; probes against services that are not telnet at all.","solutions":["Verify the service is telnet and supports MS-TNAP/NTLM before probing","Treat 'no response' as negative evidence (no NTLM info) instead of an abort","Combine with a banner grab first to confirm the service identity"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try { client.DetectNTLM(host, port) } catch (e) { if (String(e) === 'no response received') { /* server sent nothing: no NTLM info */ } else { throw e; } }","preventionTips":["Read errors vs zero-byte reads mean different things: reset/timeout vs silent close","Confirm telnet+NTLM support before relying on DetectNTLM","Combine with banner grabbing for service identification"],"tags":["telnet","javascript","nuclei","network","ntlm"],"backgroundTag":null,"analyzedSha":"265b3a3dec374741614e342f813c10f8b38d2bb7","analyzedAt":"2026-08-15T20:05:51.855Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}