|  | 
|  |  |  |  
|  | | 
After startup, the program enters its configuration into databases. It includes
	a list of hosts, and each host includes a list of TCP ports, that should be moniotred.
	Network Service Monitor Configurator is a Web application,
	that allows to prepare such configuration for Network Service Monitor.
	Changing of the configuration doesn't require restart of Network Service Monitor,
	because it checks in the normal course, if its configuration isn't changed, and the program
	can load it again if necessary. After loading of the configuration, the program periodically connects with TCP ports of specified
	hosts. A service procedure of the connection depends on a configuration of the given port.
	Information about each connection are saved in a Database and they are a source of reports, that
	Network Service Browser prepares. If a connection doesn't
	work, information about error is saved which follows. Information, that is saved about each
	connection, the following table presents: 
Table 8.2. Saved information about each connection made by dnsmd program 
| Field | Meaning |  
| Start time | Start time of the connection procedure with a remote service (TCP port on
		    a remote host). |  
| Connetion time | Time from starting of a connection procedure to closing of system function
		    connect(). |  
| Total time | Time from starting of a connection procedure to closing of the connection. |  
| Operation code | A code of closing of the operation: OK, if the connection has no errors
		    or en error code which follows during establishing of the conncection. |  
| A code of action script | A code which was returned by a script, if it was run for the connection. |  
8.4.1. Built in, serviced types of TCP protocolsdnsmd program has built in service of some well-known protocols
	    of application level. There are: 
SMTPHTTPFTPHTTP i FTP ProxyEach of protocols is serviced in specific way for it, and it was described shortly in
	    farther part of the document. 
8.4.1.1. Service of SMTP protocolService of SMTP protocol is that it sends series of commands and
		picks up results of their work. A list of operations, that are
		made during service of SMTP protocol, is presented below: 
Receiving and verification of a hello code.Sending: HELO david.Receiving and verification of a response code.Sending: QUIT.Receiving and verification of a response code.Waiting for closing of the connection by a remote host. 
8.4.1.2. Service of HTTP protocolService of HTTP protocol is that it sends series of commands and picks 
		up results of their work. A list of operations, that are made during service 
		of HTTP protocol, is presented below: 
Sending GET http://hostname/url HTTP/1.0.Sending Host: hostname
Sending optionally Authorization: Basic coded_user_and_password (algorithm base64
		    is used to code a user and a password).Waiting for random dataWaiting for closing of the connection by a remote host.The last command shows only then a user and a password are given in the port configuration.
		A word hostname is replaced with a real name of remote host while
		url is replaced with a path, if it was given in the port configuration. A result of work of these commands is not veryfied in any way. dnsmd program
		waits for rendom data and closing of the connection by a remote host. 
8.4.1.3. Service of FTP protocolService of FTP protocol is that it sends series of commands and picks
                up results of their work. A list of operations, that are made during service
                of FTP protocol, is presented below: 
Receiving and verification of a hello code.Sending: QUIT.Receiving and verification of a response code.Waiting for closing of the connection by a remote host. 
8.4.1.4. Service of proxy protocol for HTTP i FTPService of proxy protocol for HTTP and FTP is similar to service of HTTP protocol,
		and it is used to send a series of commands and pick up results of their work.
		A list of operations, that are made during service of proxy protocol for
		HTTP and FTP, is presented below: 
Sending GET url HTTP/1.0.Sending optonally Authorization: Basic coded_user_and_password 
		    (algorithm base64 is used to code a user and a password).Waiting for random dataWaiting for closing of the connection by a remote host.The last command shows only then a user and a password are given in the port configuration.
		A word url is replaced with a real location of the file, if it was given in the
		port configuration. If url wasn't given in the configuration, a default file
		is an address http://www.w3.org/. A result of work of these commands is not veryfied in any way.
		dnsmd program waits for rendom data and closing of the connection by a remote host.
		 
8.4.2. Passing an external script on service of conncectionService of conncetion also can be possible by an external
	    script specified in a given port configuration. Then, after connection of
	    dnsmd program with a remote host, remote control is passed on to
	    an external program. Its stdin and stdout are redirected on a connection.
	    In this way it can direct exchanging of data. A code of finishing of work
	    is returned by the script and it is saved in result of a given connection. The script receives connection parameters as its working parameters: 
A name of a remote host.IP of a remote host.A number of TCP port, on that the conncetion was done.URL which is configured for the port.A user whose is configured for the port.A password which is configured for the port.You should remember, that a work of the script is longer then timeout
	    parameter for the port, the script work will be disconnected after this time. 
8.4.3. Errors, that can appear during establishing of connection.The following errors can appear during establishing of connection. 
Table 8.3. Errors of establishing of the connection. 
| Error | Meaning |  
| EADDRESS | Error appers during translation of DNS name of a remote host into its IP
		    address. |  
| ECONNECT | connect() function isn't finished success. |  
| ENETDOWN | A network, that a remote host works, doesn't work. |  
| ENETUNREACH | A network, that a remote host works, is unreach. |  
| ECONNREFUSED | A remote host refuses connection. |  
| EHOSTDOWN | A remote host doesn't work. |  
| EHOSTUNREACH | A remote host is unreach. |  
| ETIMEOUT | An operation time is exceeded. |  
| ESCRIPTFAILED | Running of a given script is failed. |  
| EOTHER | Other (unknown) error has appeared. |  | 
 |  |  
|  |  |  |  |  |