awk: hping: różnica wydruku między icmp pochodzi / otrzyma
Mam następujące wyjściehping
w 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
Potrzebuję dodatkowej arytmetykirozwiązywać problemy z asymetrycznymi trasami, jak dostępne włatka w jakimś raporcie o błędach, ale nie chcę rekompilować oprogramowania.
TL; DR, dwa nowe pola są obliczane jakoReceive − Originate
iOriginate + tsrtt − Transmit
, aby uzyskać coś takiego jak poniżej (niekoniecznie obejmując 4 linie).
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
Jak mam to zrobić?awk
? (W porządku z każdym innym narzędziem * BSD.)