version 1, including all changes.
.
Rev |
Author |
# |
Line |
1 |
perry |
1 |
nmicmpd |
|
|
2 |
!!!nmicmpd |
|
|
3 |
NAME |
|
|
4 |
SYNOPSIS |
|
|
5 |
DESCRIPTION |
|
|
6 |
PROTOCOL |
|
|
7 |
SEE ALSO |
|
|
8 |
AUTHORS |
|
|
9 |
---- |
|
|
10 |
!!NAME |
|
|
11 |
|
|
|
12 |
|
|
|
13 |
nmicmpd - The network management ICMP daemon. |
|
|
14 |
!!SYNOPSIS |
|
|
15 |
|
|
|
16 |
|
|
|
17 |
__nmicmpd__ |
|
|
18 |
|
|
|
19 |
|
|
|
20 |
________________________________________________________________________________________________________________________________________ |
|
|
21 |
!!DESCRIPTION |
|
|
22 |
|
|
|
23 |
|
|
|
24 |
The __nmicmpd__ daemon allows a user processes to send |
|
|
25 |
ICMP messages (RFC 792, RFC 1122) to arbitrary hosts on the |
|
|
26 |
Internet. The daemon reads requests from the standard input |
|
|
27 |
and writes the results back to standard output. The format |
|
|
28 |
of these messages is described below. |
|
|
29 |
|
|
|
30 |
|
|
|
31 |
The daemon processes requests interleaved which allows to |
|
|
32 |
send ICMP messages to a large number of hosts efficiently. |
|
|
33 |
Parameters like the minimum delay between ICMP messages or |
|
|
34 |
the maximum number of ICMP messages on the wire can be used |
|
|
35 |
to control the network load created by this |
|
|
36 |
daemon. |
|
|
37 |
|
|
|
38 |
|
|
|
39 |
The __nmicmpd__ daemon is usually used by the Tnm(n) Tcl |
|
|
40 |
extension which starts the daemon automatically when needed. |
|
|
41 |
However, you may also choose to run this daemon under the |
|
|
42 |
control of inetd(8). This allows remote sites to send ICMP |
|
|
43 |
messages from your machine. |
|
|
44 |
!!PROTOCOL |
|
|
45 |
|
|
|
46 |
|
|
|
47 |
The protocol used to access the nmicmpd is a simple |
|
|
48 |
request/response protocol. Note that requests are not |
|
|
49 |
necessarily processed in the order they are received by the |
|
|
50 |
nmicmpd. The request message format is as |
|
|
51 |
follows: |
|
|
52 |
|
|
|
53 |
|
|
|
54 |
0 7 8 15 16 23 24 32 |
|
|
55 |
+--------+--------+--------+--------+ |
|
|
56 |
| version| type | status | flags | |
|
|
57 |
+--------+--------+--------+--------+ |
|
|
58 |
| transaction identifier | |
|
|
59 |
+--------+--------+--------+--------+ |
|
|
60 |
| IPv4 address of the ICMP target | |
|
|
61 |
+--------+--------+--------+--------+ |
|
|
62 |
| ttl | timeout| retries| delay | |
|
|
63 |
+--------+--------+--------+--------+ |
|
|
64 |
| size | window | |
|
|
65 |
+--------+--------+--------+--------+ |
|
|
66 |
|
|
|
67 |
|
|
|
68 |
The response message format uses the same header. The |
|
|
69 |
response value is encoded in the IPv4 address field and the |
|
|
70 |
value field. Note that the meaning of the value field |
|
|
71 |
depends on the type of the ICMP |
|
|
72 |
request/response. |
|
|
73 |
|
|
|
74 |
|
|
|
75 |
0 7 8 15 16 23 24 32 |
|
|
76 |
+--------+--------+--------+--------+ |
|
|
77 |
| version| type | status | unused | |
|
|
78 |
+--------+--------+--------+--------+ |
|
|
79 |
| transaction identifier | |
|
|
80 |
+--------+--------+--------+--------+ |
|
|
81 |
| IPv4 address of responding host | |
|
|
82 |
+--------+--------+--------+--------+ |
|
|
83 |
| value | |
|
|
84 |
+--------+--------+--------+--------+ |
|
|
85 |
|
|
|
86 |
|
|
|
87 |
The value of the version field is 0x00. The type field |
|
|
88 |
indicates the requested ICMP operation. The values defined |
|
|
89 |
for this initial version are: |
|
|
90 |
|
|
|
91 |
|
|
|
92 |
0x01 ICMP echo request |
|
|
93 |
|
|
|
94 |
|
|
|
95 |
0x02 ICMP mask request |
|
|
96 |
|
|
|
97 |
|
|
|
98 |
0x03 ICMP timestamp request |
|
|
99 |
|
|
|
100 |
|
|
|
101 |
0x04 ICMP trace request |
|
|
102 |
|
|
|
103 |
|
|
|
104 |
The status field indicates that return status of the |
|
|
105 |
requested operation. This field is zero for all request |
|
|
106 |
messages. Response messages may use the following values to |
|
|
107 |
indicate if there have been errors while processing this |
|
|
108 |
request. |
|
|
109 |
|
|
|
110 |
|
|
|
111 |
0x00 NOERROR |
|
|
112 |
|
|
|
113 |
|
|
|
114 |
0x01 TIMEOUT |
|
|
115 |
|
|
|
116 |
|
|
|
117 |
0x02 GENERROR |
|
|
118 |
|
|
|
119 |
|
|
|
120 |
The flags field is used to signal special conditions. The |
|
|
121 |
only defined bit is the FINALHOP bit (0x01) which may be set |
|
|
122 |
in responses to a ICMP trace request message. It indicates |
|
|
123 |
that a trace request reached the destination |
|
|
124 |
host. |
|
|
125 |
|
|
|
126 |
|
|
|
127 |
The transaction identifier is used to identify a request and |
|
|
128 |
is returned unchanged in the response packet. The IPv4 |
|
|
129 |
address in a request message defines the address of the |
|
|
130 |
target host. The IPv4 address in the response message |
|
|
131 |
indicates the IP address of the host which actually answered |
|
|
132 |
the request. |
|
|
133 |
|
|
|
134 |
|
|
|
135 |
The ttl value is used by ICMP trace requests to set the IP |
|
|
136 |
TTL option field. The timeout value is given in seconds |
|
|
137 |
while the delay value is given in milliseconds. The retries |
|
|
138 |
value defines the number of retries to perform the requested |
|
|
139 |
ICMP operation. A value of 0 indicates that no retries are |
|
|
140 |
made. The size parameter specifies the size of the ICMP |
|
|
141 |
packet. Note that the ICMP server might choose a different |
|
|
142 |
size if required by the ICMP protocol. The window parameter |
|
|
143 |
defines how many ICMP packets may be send in parallel to |
|
|
144 |
limit the number of ICMP packets on the wire. |
|
|
145 |
!!SEE ALSO |
|
|
146 |
|
|
|
147 |
|
|
|
148 |
scotty(1), tkined(1), Tnm(n) |
|
|
149 |
!!AUTHORS |
|
|
150 |
|
|
|
151 |
|
|
|
152 |
Erik Schoenfelder |
|
|
153 |
Juergen Schoenwaelder |
|
|
154 |
---- |