BRAA(1)
π BRAA β like, the mass SNMP scanner, bestie π
okay so first things first: this is a page from the General Commands Manual, section 1, and the tool is called braa. and no, it's not "bra" like the underwear, it's braa, okay? anyway. let's GO. π¦
β¨ NAME β¨
braa β Mass SNMP scanner π
β¨ SYNOPSIS β¨
braa [-h] [-2] [-v] [-t <s>] [-f <file] [-a <time>] [-r <retries>] [-d
<delay>] [querylist1] [querylist2] [...]
β¨ DESCRIPTION β¨
so. braa is a mass snmp scanner. the whole point of a tool like this is obviously making SNMP queries, but here's the thing β unlike snmpget or snmpwalk from net-snmp, it can query dozens or hundreds of hosts simultaneously, all in a single process. so it eats like almost no system resources and does the scanning VERY fast. it's giving efficiency icon. π
and the tea on this one: braa implements its OWN snmp stack, so it does NOT need any SNMP libraries like net-snmp. no cap. the implementation is, and I quote, very dirty π, it supports only several data types, and in any case cannot be stated 'standard-conforming'! it was designed to be fast, and it is fast. for this reason (well, and also because of the author's laziness ;), there is no ASN.1 parser in braa β you HAVE to know the numerical values of OID's. like .1.3.6.1.2.1.1.5.0 instead of system.sysName.0. that's the vibe. iykyk. π
β¨ OPTIONS β¨
-hβ show help. bestie behaviour fr fr.-2β claim to be a SNMP2C agent. fake it till you make it β¨-vβ show a short summary after doing all the queries. receipts at the end π-xβ hexdump octet-strings. raw bytes, no filter π-t <s>β wait<s>seconds for responses. patience, babe π§-d <s>β wait<s>microseconds after sending each packet. micro-nap π-p <s>β wait<s>milliseconds between subsequent passes.-f <file>β load queries from file<file>(one by line). so organized π-a <time>β quit after<time>seconds, independent on what happens. main character exit πͺβ¨-r <rc>β retry count (default:3). three strikes and we're out π
β¨ QUERY FORMATS β¨
so these are the three formats, and yes you have to get them exactly right:
GET: [community@]iprange[:port]:oid[/id]
WALK: [community@]iprange[:port]:oid.*[/id]
SET: [community@]iprange[:port]:oid=value[/id]
β¨ EXAMPLES β¨
okay these are the moments where it all comes together, obsessed:
$ braa public@10.253.101.1:161:.1.3.6.*
walk the SNMP tree of host 10.253.101.1 with public string querying all OIDs under .1.3.6: πΈ
$ braa 10.253.101.1-10.253.101.254:.1.3.6.1.2.1.1.6.0
query the whole subnet 10.53.101/24 of for system.sysLocation.0 β yes, the whole subnet, she's doing the MOST π¦
$ braa private@10.253.101.1:.1.3.6.1.2.1.1.6.0=sMy network
tries to set the value of system.sysLocation.0 to "My network" at host 10.253.101.1 π
β¨ BUGS AND LIMITATIONS β¨
bestie. read this part. seriously. π
- the only supported datatypes are: integer (gauge, counter, timeticks, etc.), counter64, string, ipaddress, OID. of course you are free to modify
braaasn.c/braaasn.hto support more types... but that's on you π braawill never send more than1500bytes (or a single packet) to a host in a single try. thus the number of queries that might be sent to a single host is limited. additionally, if you reach the limit by specifying too many queries,braawill terminate the whole scanning process... and no, the author can't tell what the limit exactly is, it just depends on many factors (mainly, the length of OIDs), anyway,15queries per hosts sounds dangerous, and better try not to exceed this number. so like, don't be greedy π«Ά- it is impossible to specify FQDN hostnames β you always have to give IP addresses of hosts... well, the author thinks it'll be corrected in future versions, if there will be ones. (there will be ones? there will be ones. π)
okay and for the little sign-off: this whole thing lives in the General Commands Manual as BRAA(1) β like, manual section 1, commands, the classic β and the page literally just ends with BRAA(1) down at the bottom, no version number, no date, nothing. so mysterious of it. πβ¨π
π¦ where this page comes from
- debian bookworm: braa 0.82-7 Β· GPL-2.0-or-later
- debian trixie: braa 0.82-7 Β· GPL-2.0-or-later
- ubuntu noble: braa 0.82-7 Β· GPL-2.0-or-later
- ubuntu resolute: braa 0.82-8 Β· GPL-2.0-or-later
- ubuntu stonking: braa 0.90.1-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms