SNMP Version
SNMP's three major versions - v1, v2c, and v3 - aren't interchangeable, and a request sent with the wrong version generally doesn't produce a clear, specific error telling you so. Instead, it usually just looks like a plain timeout, which makes version mismatch one of the more frustrating causes to diagnose, since the symptom gives you almost no direct hint about the actual problem.
Why a wrong version usually fails silently
If an agent is configured only for SNMPv3 and receives a v1/v2c-formatted request, it typically can't even parse it as a valid request in the first place - v1/v2c and v3 use meaningfully different message structures, not just a different version field within an otherwise identical format. Rather than responding with an explicit "wrong version" error (which itself would leak information to anyone probing the device), many agents just silently drop anything they can't process, which is indistinguishable, from the requester's side, from the packet never having arrived at all.
Common ways this actually happens
- Copy-pasting a working command from one device to a different one, without noticing the target device is actually configured for a different SNMP version.
- A device that's been migrated from v2c to v3 (a fairly common security hardening step) while monitoring configuration elsewhere still references the old v2c community string.
- Using
-v1against a device that only supports v2c and above, or vice versa - not every device supports every version, and assuming v1 compatibility on newer, security-conscious hardware is a common wrong assumption.
How to actually check which version a device supports
If you have any form of direct access to the device (console, existing management interface, prior documentation), checking its own SNMP configuration directly is the most reliable approach - it'll show you exactly which version(s) and, for v3, which users are actually configured, rather than requiring you to guess.
Without that access, the practical approach is elimination: try v2c with a couple of likely community strings first (since it's the most commonly deployed version in practice), then v1, then consider whether the device might be v3-only, which would require actual credentials you don't yet have rather than just a guessable string.
A related but distinct problem
Once you're confident the version is correct and you're still not getting a response, a wrong community string is the next most likely cause for v1/v2c, and produces the exact same silent-timeout symptom - see community string / access issues for narrowing that down specifically.