This is an extremely simple handler but works with any TCP service. It is preferable to use handlers designed to understand the service protocol can determine if the service listening on the port is actually functioning (see httphandler, ftphandler, imaphandler, etc.)
See /etc/services for the well known ports for common services. Some examples include:
Wire keywords (standard handler keywords documented in Wire )
// monitor smb services set noconnect create event { name: "noconnect" priority: 1 }
create handler tcp { hostname: domaincontroller.mydomain.com port: 139 noconnect: $noconnect timeout: 5 cycletime: 60 }Events generated:
| Event Name | Type | Description |
|---|---|---|
| connect | AW_EVENT_TYPE_STRING | Was able to connect, send string of "ip:port" |
| noconnect | AW_EVENT_TYPE_STRING | Was NOT able to connect, send string of "ip:port" |
| triptime | AW_EVENT_TYPE_INT32 | Estimated round trip time in usec |
#include "sysnet.h"
#include "monitor.h"
#include "wire.h"
Go to the source code of this file.
Data Structures | |
| struct | aw_tcphandler_events_t |
| Events generated. More... | |
| struct | aw_tcphandler_state_t |
| State of handler during probing. More... | |
| struct | aw_tcphandler_t |
| Handler object. More... | |
Enumerations | |
| enum | aw_tcphandler_state_cd_t { AW_TCPHANDLER_IDLE, AW_TCPHANDLER_WAIT_CONNECT, AW_TCPHANDLER_DONE_CONNECT } |
| The state codes for each state on handler. More... | |
Functions | |
| aw_tcphandler_t * | aw_create_tcphandler (const aw_tcphandler_events_t *events, const byte_t *hostname, u_int32_t port, aw_timestamp_t timeout, int32_t(*regevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index), int32_t(*regmaskevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index), const aw_alarm_sched_t *sched, aw_logger_t *logger) |
| Create a tcp handler. | |
| void | aw_free_tcphandler (aw_tcphandler_t *p) |
| Free handler and all associated resources. | |
| aw_handler_t * | aw_wire_tcphandler (aw_wire_mkhandler_args_t *args) |
| Create a tcp handler using "wire". See header doc for keyword documentation. | |
|
|
The state codes for each state on handler.
|
|
||||||||||||||||||||||||||||||||||||
|
Create a tcp handler. aw_create_tcphandler
|
|
|
Free handler and all associated resources. aw_free_tcphandler
|
|
|
Create a tcp handler using "wire". See header doc for keyword documentation. aw_wire_tcphandler |