awk: hping: imprime la diferencia entre icmp originate / receive
Tengo la siguiente salida dehping
en OpenBSD:
# hping --icmp-ts www.openbsd.org
HPING www.openbsd.org (re0 129.128.5.194): icmp mode set, 28 headers + 0 data bytes
len=46 ip=129.128.5.194 ttl=237 id=23807 icmp_seq=0 rtt=155.3 ms
ICMP timestamp: Originate=22085077 Receive=22085171 Transmit=22085171
ICMP timestamp RTT tsrtt=156
len=46 ip=129.128.5.194 ttl=237 id=4150 icmp_seq=1 rtt=154.8 ms
ICMP timestamp: Originate=22086078 Receive=22086171 Transmit=22086171
ICMP timestamp RTT tsrtt=155
^C
--- www.openbsd.org hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 154.8/155.0/155.3 ms
Requiero aritmética extrapara solucionar rutas asimétricas, disponible enun parche en algún informe de errores, pero no quiero tener que recompilar el software.
TL; DR, los dos nuevos campos se calculan comoReceive − Originate
yOriginate + tsrtt − Transmit
, para dar como resultado algo como lo siguiente (sin tener que abarcar necesariamente 4 líneas).
len=46 ip=129.128.5.194 ttl=237 id=23807 icmp_seq=0 rtt=155.3 ms
ICMP timestamp: Originate=22085077 Receive=22085171 Transmit=22085171
ICMP timestamp RTT tsrtt=156 src->dst=94 dst->src=62
Como hago esto conawk
? (Estoy bien con cualquier otra herramienta * BSD, también.)