1. A generic discovery method comprising: collecting at least partial data pertaining to components of a computer network; determining communication information and application information from the collected data, at least some of the communication information being taken from intercepted network communications occurring between the components, the application information pertaining to at least some applications executing on the components; identifying a first application installed on a first component of the computer network based on the communication information and the application information; determining, based on the communication information, ports used on the first component that are characteristic of a type of communication protocol associated with the first application; determining a subset of the determined ports that are used in communications intercepted between the first component and a second component of the computer network; generating at least a first hypothesis of a relationship between one or more second applications of the second component and the first application by determining that the second applications are capable of communicating with the first application via the communication protocol; generating at least a second hypothesis of an application executing on a third component based on determining a collection of ports used in the intercepted network communications on the third component and what one or more fourth components or applications were communicating with the collection of ports; generating a schematic of components based at least on the first hypothesis and the second hypothesis; matching a template of known components to at least a portion of the schematic; and using characteristics associated with the template to determine that components represented in the portion of the schematic constitute the known components.