1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
|
.\" Man page for ICMPush (c) Slayer
.\" ===============================
.\"
.\" You may distribute under the terms of the GNU General Public
.\" License as specified in the LICENSE file that comes with the
.\" ICMPush v2.2 distribution.
.\"
.\" Man page author:
.\" wait_man <wait_man@apostols.org>
.\" Date:
.\" Mon Feb 8 01:16:09 CET 1999
.\" Translate from the Spanish to English by:
.\" BINARIA <binaria@totalcoredump.org>
.\"
.TH "ICMPUSH" "8" "22 de Febrero de 1999" "icmpush v2.2"
.SH "NOMBRE"
icmpush \- Generador de paquetes ICMP
.SH "SINOPSIS"
.B icmpush
.I tipo [opciones] host
.SH "DESCRIPCIN"
.B icmpush
es una aplicacin para generar diversos tipos de paquetes ICMP.
Actualmente soporta los tipos ICMP de error siguientes:
\fIRedirect\fP, \fISource Quench\fP, \fITime Exceeded\fP, \fIDestination Unreach\fP,
\fIParameter Problem\fP
y los tipos ICMP de informacin siguientes:
\fIAddress Mask Request\fP, \fITimestamp\fP, \fIInformation Request\fP,
\fIEcho Request\fP, \fIRouter Solicitation\fP y \fIRouter Advertisement\fP.
No es misin de esta pgina describir en profundidad los entresijos del
protocolo ICMP, pero cuanto ms conocimiento se tenga del mismo, mejor
comprensin se tendr del uso, funcionamiento y utilidades de esta
herramienta.
La cantidad de argumentos necesarios puede parecer excesiva, pero, como
su propio autor indica, la construccin de un paquete ICMP que se ajuste
al formato del protocolo requiere una serie de datos imprescindibles
que deben ser suministrados desde la lnea de comandos.
Hacia el final de esta pgina se incluye una gran cantidad de ejemplos que
ilustran algunas de las posibilidades reales de uso de este programa.
.SH "OPCIONES"
.IP "\fB\-h\fP, \fB--help\fP"
Ayuda.
.IP "\fB\-V\fP, \fB--version\fP"
Versin del programa.
.IP "\fB\-v\fP, \fB--verbose\fP"
Modo informativo.
.IP "\fB\-vv\fP, \fB--more_verbose\fP"
Ms informativo an. til para depuracin.
.PP
El \fItipo\fP de ICMP, siguiendo un orden por cdigo de menor a mayor, puede ser
cualquiera de los siguientes:
.IP "\fB\-du\fP, \fB--dest_unreach\fP"
Destination Unreach. El paquete IP no pudo ser entregado. Este tipo
ICMP es de \fIerror\fP.
.IP "\fB\-sq\fP, \fB--src_quench\fP"
Source Quench. El paquete IP no se entrega a causa de una congestin en
la red. Este es tipo ICMP es de \fIerror\fP.
.IP "\fB\-red\fP, \fB--redirect\fP"
Redirect. Requerimiento para desviar paquetes IP a travs de otro
router. Este tipo ICMP es de \fIerror\fP.
.IP "\fB\-echo\fP, \fB--echo_request\fP"
Echo Request. Peticin a un host para que devuelva una respuesta de eco. Este
tipo ICMP es de \fIinformacin\fP.
.IP "\fB\-rta\fP, \fB--router_advert\fP \fIdireccin\fP[\fI/preferencia\fP]"
Router Advertisement. El router comunica la disponibilidad de uno o
varios routers con direccin \fIdireccin\fP y preferencia \fIpreferencia\fP.
Si se omite esta ltima se toma la preferencia por defecto que es 0. Este
tipo ICMP es de \fIinformacin\fP.
.IP "\fB\-rts\fP, \fB--router_solicit\fP"
Router Solicitation. Requerimiento por parte de un host para que se enve
un anuncio de uno o varios routers. Como el anterior, forma parte del
intercambio de mensajes Router Discovery y es un tipo ICMP de \fIinformacin\fP.
.IP "\fB\-tx\fP, \fB--time_exc\fP"
Time Exceeded. Se ha acabado el tiempo de un paquete IP. Este tipo ICMP
es de \fIerror\fP.
.IP "\fB\-param\fP, \fB--param_problem\fP"
Parameter Problem. Valor errneo en una variable de la cabecera IP. Este tipo
ICMP es de \fIerror\fP.
.IP "\fB\-tstamp\fP, \fB--timestamp\fP"
Timestamp. Solicitud de la hora de un host. Este tipo ICMP es de \fIinformacin\fP.
.IP "\fB\-info\fP, \fB--info_req\fP"
Information Request. El host solicita una respuesta Info Reply. Este tipo
ICMP es de \fIinformacin\fP.
.IP "\fB\-mask\fP, \fB--mask_req\fP"
Address Mask Request. Averiguar la mascara de red para la red local
actual. Este tipo ICMP es de \fIinformacin\fP.
.PP
Las \fIopciones\fP pueden ser cualquiera de las siguientes:
.IP "\fB\-sp\fP, \fB--spoof\fP \fIdireccin\fP"
Direccin IP a usar como origen del paquete ICMP.
.IP "\fB\-to\fP, \fB--timeout\fP \fIsegundos\fP"
Tiempo de espera en segundos para leer las respuestas. Solo es vlido para ICMPs de
\fIinformacin\fP salvo el tipo Router Advertisement (\fB-rta\fP).
Por defecto es de 5 segundos. Si se indica 0 no se leen las respuestas.
.IP "\fB\-n\fP, \fB--no_resolve\fP"
No usar resolucin DNS de nombre de host.
.IP "\fB\-lt\fP, \fB--lifetime\fP \fIsegundos\fP"
Tiempo de vida en segundos de un anuncio de router. Vlido solo para
Router Advertisement (\fI-rta\fP). Por defecto son 1800 segundos (30').
.IP "\fB\-gw\fP, \fB--gateway\fP \fIdireccin\fP"
Host que actuar como pasarela de ruta en un ICMP Redirect (\fB-red\fP). Por defecto
ser la direccin de spoof (\fB-sp\fP), si se ha especificado, o la direccin IP
del interfaz de salida si no se ha especificado.
.IP "\fB\-dest\fP, \fB--route_dest\fP \fIdireccin\fP"
Host o red destino de ruta en un ICMP Redirect (\fB-red\fP). Esta opcin es
obligatoria si se enva un ICMP Redirect.
.IP "\fB\-orig\fP, \fB--orig_host\fP \fIdireccin\fP"
Host origen en la cabecera IP que se enva en la parte de datos de un
ICMP de \fIerror\fP. Por defecto ser igual a la IP del host al que se manda
el paquete ICMP.
.IP "\fB\-psrc\fP, \fB--port_src\fP \fIpuerto\fP"
Puerto (tcp o udp) origen a usar en la cabecera IP que se enva
en la parte de datos de un ICMP de \fIerror\fP. Por defecto es 0.
.IP "\fB\-pdst\fP, \fB--port_dest\fP \fIpuerto\fP"
Puerto (tcp o udp) destino a usar en la cabecera IP que se enva
en la parte de datos de un ICMP de \fIerror\fP. Por defecto es 0.
.IP "\fB\-prot\fP, \fB--protocol\fP \fIicmp\fP|\fItcp\fP|\fIudp\fP"
Protocolo a usar en la cabecera IP que se enva en la parte de datos
de un ICMP de \fIerror\fP. Debe ser uno de los tres listados. Por defecto es tcp.
.IP "\fB\-id\fP, \fB--echo_id\fP \fIidentificador\fP"
Identificador de Echo usado en la cabecera IP que se enva cuando es
un ICMP de \fIerror\fP y el protocolo de la cabecera IP (\fB-prot\fP) de
los datos de error es icmp. Por defecto es 0.
.IP "\fB\-seq\fP, \fB--echo_seq\fP \fIsecuencia\fP"
Nmero de secuencia de Echo usado en la cabecera IP que se enva cuando
es un ICMP de \fIerror\fP y el protocolo de la cabecera IP (\fB-prot\fP) de
los datos de error es icmp. Por defecto es 0.
.IP "\fB\-pat\fP, \fB--pattern\fP \fIpatrn\fP"
Patrn de datos a enviar en un Echo Request (\fB-echo\fP).
.IP "\fB\-gbg\fP, \fB--garbage\fP \fIbytes\fP|\fImax\fP"
Cantidad de bytes basura que se enviarn en cualquier paquete ICMP. Con \fImax\fP
se enva el mximo posible.
.IP "\fB\-ptr\fP, \fB--pointer\fP \fIbyte\fP"
Puntero a \fIbyte\fP errneo en un paquete ICMP indicando un problema en un
parmetro. Vlido slo para el tipo Parameter Problem (\fB-param\fP).
.IP "\fB\-c\fP, \fB--code\fP \fIcdigo\fP|\fInum\fP|\fImax\fP"
Cdigo de ICMP enviado. Cdigo \fIcdigo\fP vlido para los tipos
Destination Unreach (\fB-du\fP), Redirect (\fB-red\fP)
y Time Exceeded (\fB-tx\fP).
Se puede especificar un cdigo numrico \fInum\fP para los tipos ICMP
que no tienen (Echo Request, Information Request, Address Mask
Request, Router Solicitation, Router Advertisement, Source Quench,
Parameter Problem y Timestamp).
Si se usa \fImax\fP se enviar un cdigo ICMP superior a los admitidos.
La siguiente seccin \fICDIGOS ICMP\fP enumera los tipos de cdigo
\fIcdigo\fP vlidos.
.SH "CDIGOS ICMP"
Los \fIcdigos\fP vlidos para usar con los tipos Destination Unreach, Redirect y
Time Exceeded son,
.IP "- Para usar con el tipo \fBDestination Unreach\fP (\fB-du\fP):"
.PP
\fInet-unreach\fP (Net Unreachable) indica red de destino no accesible.
\fIhost-unreach\fP (Host Unreachable) indica host de destino no accesible.
\fIprot-unreach\fP (Protocol Unreachable) indica que el protocolo deseado
no est a disposicin en el host destino.
\fIport-unreach\fP (Port Unreachable) indica que el puerto deseado en el host
destino no est disponible.
\fIfrag-needed\fP (Fragmentation Needed and Don't Fragment was Set) indica que
el paquete IP tuvo que ser fragmentado por su tamao, pero el emisor no lo
permiti por medio del flag DF (DON'T FRAGMENT o NO FRAGMENTAR).
\fIsroute-fail\fP (Source Route Failed) indica que no se pudo seguir la ruta
deseada que se indicaba en el paquete IP.
\fInet-unknown\fP (Destination Network Unknown) indica que no se conoce la
red de destino.
\fIhost-unknown\fP (Destination Host Unknown) indica que no se conoce el
host de destino, pero s la red.
\fIhost-isolated\fP (Source Host Isolated) indica que no se puede acceder al
host de destino.
\fInet-ano\fP (Communication with Destination Network is Administratively
Prohibited) indica que el acceso a la red de destino se deniega, va
cortafuegos o similar, por parte del receptor.
\fIhost-ano\fP (Communication with Destination Host is Administratively
Prohibited) indica que el acceso al host de destino se deniega, va
cortafuegos o procedimiento anlogo, por parte del receptor.
\fInet-unr-tos\fP (Destination Network Unreachable for Type of Service)
indica que no se puede acceder a la red de destino con el tipo de servicio
(TOS, type of service) solicitado.
\fIhost-unr-tos\fP (Destination Host Unreachable for Type of Service) indica
que no se puede acceder al host destino con el TOS solicitado.
\fIcom-admin-prohib\fP (Communication Administratively Prohibited) indica que
un router no puede encaminar un paquete por filtrado administrativo.
\fIhost-precedence-viol\fP (Host Precedence Violation) indica que la
precedencia IP del paquete original no est permitida.
\fIprecedence-cutoff\fP (Precedence cutoff in effect) indica que se ha intentado enviar
un paquete con un nivel de precedencia IP menor que el mnimo impuesto por
los administradores.
.IP "- Para usar con el tipo \fBRedirect\fP (\fB-red\fP):"
.PP
\fInet\fP (Redirect Datagram for the Network) indica que el destino es una
red.
\fIhost\fP (Redirect Datagram for the Host) indica que el destino es un
host.
\fIserv-net\fP (Redirect Datagram for the Type Of Service and Network) indica que el
destino es tipo de servicio y red.
\fIserv-host\fP (Redirect Datagram for the Type Of Service and Host) indica que el
destino es tipo de servicio y host.
.PP
y
.IP "- Para usar con el tipo \fB\Time Exceeded\fP (\fB-tx\fP):"
.PP
\fIttl\fP (Time to Live exceeded in Transit) indica que el tiempo de vida en la cabecera
de un paquete IP se ha agotado.
\fIfrag\fP (Fragment Reassembly Time Exceeded) indica que los fragmentos de un paquete
IP no han podido ser reensamblados.
.SH "CDIGOS DE RETORNO"
\fBicmpush\fP puede ser usado de una forma muy sencilla en guiones del intrprete
de comandos que estemos usando (tpicamente \fIbash\fP). El programa devuelve los
siguientes cdigos al shell que le invoc:
.ti
Valor Significado
.ti
----- -----------
.ti
0 Programa finalizado OK.
.ti
1 Nmero de argumentos incorrecto.
.ti
2 Protocolo ICMP desconocido.
.ti
3 No se pudo crear socket tipo RAW.
.ti
4 Tipo de paquete ICMP incorrecto.
.ti
5 Gateway incorrecto.
.ti
6 Destino de ruta incorrecto.
.ti
7 Cdigo de paquete ICMP incorrecto.
.ti
8 Host original incorrecto.
.ti
9 Error enviando paquete.
.ti
10 Protocolo no implementado todava.
.ti
11 Direccin IP o host de spoof incorrecto.
.ti
12 No se pudo reservar memoria para unin data_hdr.
.ti
13 Direccin IP o host destino del paquete incorrecto.
.ti
14 Protocolo desconocido.
.ti
16 Error leyendo socket RAW.
.ti
17 Error al iniciar manejador de seal SIGALRM.
.ti
18 Los datos que se quieren enviar en el paquete
Echo Request son demasiado grandes.
.ti
19 Puerto origen incorrecto.
.ti
20 Puerto destino incorrecto.
.ti
21 Valor de timeout incorrecto.
.ti
22 Echo ID incorrecto.
.ti
23 Nmero de secuencia incorrecto.
.ti
24 Datos de Echo incorrectos.
.ti
25 Error en IP_HDRINCL.
.ti
26 Direccin de router en Router Advertisement
incorrecta.
.ti
27 Nmero de bytes basura incorrecto.
.ti
28 Puntero de ICMP Parameter Problem es incorrecto.
.SH "EJEMPLOS"
- En repuesta a un paquete enviado con origen en el puerto TCP 100 y con
destino en el puerto 90, queremos enviar un ICMP Redirect a tontoligo.es para
modificar su tabla de rutas con los siguientes datos: 10.12.12.12 como
gateway hacia el host death.es enmascarando el origen del paquete como
originado desde el host infect.comx:
\fBicmpush -red -sp\fP \fIinfect.comx\fP \fB-gw\fP \fI10.12.12.12\fP
\fB-dest\fP \fIdeath.es\fP \fB-c\fP \fIhost\fP \fB-prot\fP \fItcp\fP
\fB-psrc\fP \fI100\fP \fB-pdst\fP \fI90 tontoligo.es\fP
- En respuesta a un paquete ICMP Echo Request enviado con un ECHO REQUEST
id 100 y un numero de secuencia ECHO REQUEST 90, queremos enviar un ICMP
Redirect al host almorranas.es para modificar su tabla de rutas con los
siguientes datos: el host pizza.death como pasarela hacia el host death.es
enmascarando el origen del paquete como originado desde el host infect.comx:
\fBicmpush -red -sp\fP \fIinfect.comx\fP \fB-gw\fP \fIpizza.death\fP
\fB-dest\fP \fIdeath.es\fP \fB-c\fP \fIhost\fP \fB-prot\fP \fIicmp\fP
\fB-id\fP \fI100\fP \fB-seq\fP \fI90 almorranas.es\fP
- Queremos enviar un paquete ICMP Destination Unreach al host 10.2.3.4
dicindole que nuestro puerto TCP numero 20, conectado con su puerto TCP
2100, es inalcanzable. Nos enmascaramos como el host 10.1.1.1:
\fBicmpush -du -sp\fP \fI10.1.1.1\fP \fB-c\fP \fIport-unreach\fP \fB-prot\fP
\fItcp\fP \fB-psrc\fP \fI2100\fP \fB-pdst\fP \fI20 10.2.3.4\fP
- Queremos enviar un paquete ICMP Destination Unreach al host 10.2.3.4
dicindole que el host inferno.hell y su puerto TCP 69, relacionado con su
puerto TCP 666 es inalcanzable. Nos enmascaramos como como el gateway
router.comx:
\fBicmpush -du -sp\fP \fIrouter.comx\fP \fB-c\fP \fIhost-unreach\fP
\fB-prot\fP \fItcp\fP \fB-psrc\fP \fI666\fP \fB-pdst\fP \fI69\fP
\fB-orig\fP \fIinferno.hell 10.2.3.4\fP
- Queremos enviar un paquete ICMP Source Quench al host ldg02.hell en
respuesta a un paquete destinado al host ldg00 con protocolo UDP, puerto
origen 100 y destino 200. Nos enmascaramos como el gateway 10.10.10.1:
\fBicmpush -sq -sp\fP \fI10.10.10.1\fP \fB-prot\fP \fIudp\fP \fB-psrc\fP
\fI100\fP \fB-pdst\fP \fI200\fP \fB-orig\fP \fIldg00 ldg02.hell\fP
- Queremos enviar un paquete ICMP Time Exceeded al host ldg02.hell en
respuesta a un paquete destinado al host ldg00 con protocolo UDP, puerto
origen 100 y puerto destino 200. Nos enmascaramos como el gateway
ldg04.hell:
\fBicmpush -tx -sp\fP \fIldg04.hell\fP \fB-c\fP \fIfrag\fP \fB-prot\fP
\fIudp\fP \fB-psrc\fP \fI100\fP \fB-pdst\fP \fI200\fP \fB-orig\fP
\fIldg00 ldg02.hell\fP
- Queremos enviar un paquete ICMP Address Mask Request y esperar 10 segundos
para ver las respuestas. Enmascararemos el paquete con origen en 10.2.3.4 y
lo mandaremos a la direccin 10.0.1.255:
\fBicmpush -mask -sp\fP \fI10.2.3.4\fP \fB-to\fP \fI10 10.0.1.255\fP
- Queremos enviar un paquete ICMP Timestamp al host sepultura.hell.
Enmascaramos el paquete como enviado por el host 10.2.3.1. Usamos el tiempo
de espera por defecto, 5 segundos:
\fBicmpush -tstamp --spoof\fP \fI10.2.3.1 sepultura.hell\fP
- Queremos enviar un paquete ICMP Information Request al host nominas.hell.
La direccin origen sera nuestra propia direccin IP, y el tiempo de espera
sera de 20 segundos:
\fBicmpush -info -to\fP \fI20 nominas.hell\fP
- Queremos enviar un paquete ICMP Router Solicitation al host vagos.hell. La
direccin de origen sera nuestra propia direccin IP, y el tiempo de espera
sera de 20 segundos:
\fBicmpush -rts --timeout\fP \fI20 vagos.hell\fP
- Queremos enviar un paquete ICMP Echo Request al host vagos.hell con un el
patrn de datos 'MiNombreEsGump'. La direccin origen sera nuestra propia
direccin IP. El tiempo de espera para leer los datos ser de 2 segundos:
\fBicmpush -echo -data\fP \fIMiNombreEsGump\fP \fB-to\fP \fI2 vagos.hell\fP
- Queremos enviar un paquete ICMP Echo Request a 10.12.0.255 con el siguiente
patrn de datos: 'D E A T H' (espacios inclusive). La direccin origen la
enmascararemos como 192.168.0.255, y no queremos leer las respuestas:
\fBicmpush -echo -sp\fP \fI192.168.0.255\fP \fB-data\fP \fI'D E A T H'\fP
\fB-to\fP \fI0 192.168.0.255\fP
- Queremos enviar un ICMP Destination Unreach al host destino.death pero envindolo
con un cdigo ICMP superior a los legales aadiendo adems 60K de datos
basura:
\fBicmpush -du -c\fP \fImax\fP \fB-gbg\fP \fI60000 destino.death\fP
- Queremos enviar un ICMP Router Advertisement al host death.es, dicindole que los
routers a usar son: router1.xtc con preferencia 20, router2.xtc con
preferencia 50 y router3.xtc con preferencia por defecto (0). Nos
enmascararemos como el router routerpadre.xtc
\fBicmpush -rta\fP \fIrouter1.xtc/20\fP \fB-rta\fP \fIrouter2.xtc/50\fP
\fB-rta\fP \fIrouter3.xtc\fP \fB-sp\fP \fIrouterpadre.xtc death.es\fP
- Queremos enviar un ICMP Parameter Problem al host desgracias.es dicindole que el
paquete que ha enviado al host paleto.org con protocolo udp, puerto origen
13 y puerto destino 53, tiene un error en el byte 13 de la cabecera IP.
Adems, le aadiremos todos los bytes basura posibles:
\fBicmpush -sp\fP \fIpaleto.org\fP \fB-param -ptr\fP \fI13\fP \fB-prot\fP
\fIudp\fP \fB-psrc\fP \fI13\fP \fB-pdest\fP \fI53\fP \fB-gbg\fP \fImax\fP
\fIdesgracias.es\fP
- Queremos enviar un paquete ICMP Timestamp al host www.paletos.org
con el cdigo 38 en lugar del cdigo (0) que llevara normalmente:
\fBicmpush -tstamp -c\fP \fI38 www.paletos.org\fP
.SH VER TAMBIN
Postel, John, "Internet Control Message Protocol - DARPA Internet
Program Protocol Specification", \fIRFC 792\fP, USC/Information Sciences
Institute, September 1981.
Mogul, Jeffrey and John Postel, "Internet Standard Subnetting Procedure",
\fIRFC 950\fP, Stanford, USC/Information Sciences Institute, August 1985.
Braden, Robert, "Requeriments for Internet Hosts - Communication Layers",
\fIRFC 1122\fP, USC/Information Sciences Institute, October 1989.
Deering, Stephen, "ICMP Router Discovery Messages", \fIRFC 1256\fP, Xerox
PARC, September 1991.
Baker, Fred, "Requeriments for IP Version 4 Routers", \fIRFC 1812\fP, Cisco
Systems, June 1995.
El \fIcdigo fuente de Linux\fP, en especial todo lo referente al
cdigo de red, y principalmente lo referido al protocolo ICMP.
.SH AUTOR
Slayer <tcpbgp@softhome.net>
|