Любой TCP пинг с TTL

Я пытаюсь создать проект для сравнения пингов в разных центрах обработки данных основных облачных провайдеров. Поскольку ICMP блокируется балансировщиком нагрузки на виртуальных машинах Azure, я был вынужден вместо этого использовать TCP ping (PsPing для Win и paping для UNIX), единственная проблема заключается в том, что при каждом пинге мне также нужен соответствующий TTL (который показан стандартная команда ping из bash: Ping в UNIX:

Все различные утилиты TCP ping, которые я нашел (psping, paping...), не предоставляют эту информацию. Кто-нибудь знает какую-нибудь утилиту, которая могла бы решить мою проблему? заранее большое спасибо

ОБНОВИТЬ:

Я нашел hping3, другую похожую программу, которая предлагает гораздо больше возможностей и отображает TTL для каждого пинга (именно так, как я хотел), в любом случае я заметил кое-что странное: Ping и hping3 от eu-west-2a до eu-west-3c  На изображении есть тест на AWS от eu-west-2a(london) до eu-west-3e(paris) и пока с ping TTL остается стабильным на 48 с hping3 он плавает от 46 до 48 с немного более высоким rtt. Я предполагаю, что задержка в rtt связана с накладными расходами TCP, но я не понимаю, почему ttl отличается...


person daniele piscaglia    schedule 10.07.2018    source источник


Ответы (1)


Если TTL отличается, это связано с тем, что пакет следует по разным путям, здесь вам поможет traceroute, у hping3 есть опция --traceroute, которая позволит увидеть разные переходы и определить различия (hping3 --traceroute -S -p 80 xxxxx)

Просто предположил, что Azure делает с трафиком что-то другое, потому что он использует тот же шаблон атаки SYN-флуда.

person Antonio Ojea    schedule 11.07.2018
comment
Спасибо, Антонио, за подсказку, я пытался использовать --traceroute с hping3, но, честно говоря, я изо всех сил пытаюсь заставить его работать, в любом случае я изучу и посмотрю, что найду; D - person daniele piscaglia; 16.07.2018