nmap "sendto in send_ip_packet failed: No buffer space available" during authorized scan
Fixes nmap's No buffer space available send failure: throttling the send rate with --max-rate and adding --scan-delay so the NIC and driver keep up. Use when fast scans abort with the sendto error. Not for receive-side packet loss.
TL;DR
Your scan is transmitting faster than the network interface or its driver can buffer, so the kernel refuses the send. Slow the scan down with --max-rate and --scan-delay, or drop to a gentler timing template. The scan gets slower but stops aborting.
sendto in send_ip_packet: sendto(4, packet, 44, 0, 192.0.2.5, 16) => No buffer space availableUse this when
- Fast scans abort with the sendto / No buffer space available error.
- You are scanning from a VM, a small test box, or Windows.
- The targets are in your authorized scope.
Not for this skill when
- The scan runs but finds nothing. That is filtering, not a send failure.
- The error is on receive. Check the capture path instead.
Steps
- Cap the send rate explicitly:
nmap --max-rate 100 -sS 192.0.2.0/24. Verify: the sendto error stops appearing. - Add a small delay between probes:
nmap --scan-delay 10ms -sS 192.0.2.0/24. Verify: the scan progresses steadily instead of bursting and dying. - Drop to a gentler timing template as an alternative:
nmap -T2 -sS 192.0.2.0/24. Verify: the run completes without send errors. - On Windows, confirm Npcap is installed and current; the bundled WinPcap-era drivers buffer poorly. Verify: the Npcap version matches your nmap build.
- For large scopes, split the range and run the halves sequentially rather than one giant fast scan. Verify: each half completes cleanly at the throttled rate.
Compatibility: nmap 7.x. --max-rate and --scan-delay are stable across recent versions.
Variant phrasings
nmap no buffer space available
Same fix path, common phrasing.
nmap sendto failed sendippacket
The function-name search.
nmap scan too fast buffer error
Symptom-level search.
Why it happens
nmap's parallel prober can generate packets faster than a virtual NIC, a USB adapter, or an old driver can queue them. The kernel returns ENOBUFS, nmap reports it via sendippacket, and the scan aborts. Aggressive timing (-T4/-T5) and very high --min-rate values trigger it on modest hardware.
Edge cases / pitfalls
- The right rate depends on the path. Start at 100 pps and raise it until the error returns, then back off.
- --scan-delay applies per probe and compounds with parallelism. Small values are enough.
- Do not "fix" this by raising socket buffers blindly. Throttling is the supported fix.
- A throttled scan of a large scope takes real time. Plan the engagement schedule around it and tell the client.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_4na2tQKWGa-ZdRUy2o5ioA