Can anyone explain to me what SNMP is used for in a home Desktop Ubuntu install?
Is it needed? There is no network of any kind other than the cable modem.
What is SNMP?
SNMP(Simple Network Management Protocol) "is a widely used protocol for monitoring the health and welfare of network equipment (eg. routers), computer equipment and even devices like UPSs.".
It is commonly used by network and system administrators to gather operational statistics(such as measuring network bandwidth traffic, cpu usage, or available hard drive space) as well as setting system parameters.
What does this mean for the average desktop user?
As the question currently stands, SNMP is of little, or no, interest to the casual desktop user.
By default, in Ubuntu, the basic SNMP files (
Why would I want to enable and use SNMP?
As very simple use case for a more advanced(or curious) user would be to set up a monitoring/graphing system like MRTG, Cacti, or Nagios to keep an eye on the health of their systems and network. There are a number of useful questions on this site that go into details on configuring applications that require the use of SNMP.
This question is a good starting point to look at some of the many applications that employ SNMP to gather system and network data.
How do I enable SNMP on my system?
See my answer here.
Where can I learn more about SNMP?
Net-SNMP is the "canonical" package for most installations.
A good introduction can be found here.
Finally, the wikipedia entry for SNMP.
What Is SNMP?
Simple Network Management Protocol (SNMP) is an "Internet-standard protocol for managing devices on IP networks." Devices that typically support SNMP include routers, switches, servers, workstations, printers, modem racks, and more." It is used mostly in network management systems to monitor network-attached devices for conditions that warrant administrative attention. SNMP is a component of the Internet Protocol Suite as defined by the Internet Engineering Task Force (IETF). It consists of a set of standards for network management, including an application layer protocol, a database schema, and a set of data objects. (For more detail )
By default SNMP (the agent or monitored device) is not installed on Ubuntu Desktop.
Only the SNMP library is installed as it can be used to get the state of a network printer for instance but it is not activated unless the printer driver requests it.
Overall SNMP (the agent or monitored device) has not much use on a Home Desktop, as you suspected it.
SNMP is used to remotely monitor a system. It can also be used to remotely configure a system. You don't need it if you aren't doing fine-grained analysis of your system state, or central monitoring or configuration management. (Even without it, a program like Nagios can check to see if a system is up, whether http or ssh services are listening on ports, etc..)
Sometimes SNMP libraries or functionality can piggyback on the installation of other programs. For instance, cups seems to include an snmp configuration file. This is not necessarily a good thing, as it includes community strings that are easily guessable.
If you block udp on port 161, this will normally prevent remote querying of your system's information from SNMP.