LINUX.ORG.RU

Определение живости хоста


0

0

Нужно определить живость хоста. Хотелось бы универсальный способ. Сам пробовал написать. У меня 2 варианта: 1) послать на хост пинг и посмотреть 2) попытаться сконнектиться на какой-нибудь порт Но возникли 2 основные проблемы: 1- когда делаю коннект в момент выполнения connect прога замерзает отшибаю по alarm отшибается но мне не нужно чтоб прога умирала, думал перехватить alarm сигнал но что делать то потом :)))))) и 2-связан с пингом - очень многие повадились отключать icmp пакеты. Подскажите может у кого уже есть опыт в этом деле?


Вообще ман icmp
весь icmp не один нормальный админ закрывать не будет
по крайней мере dest network unrechable
вообщем читать типы icmp.

Aleks_IZA
()

И еще можно в сторону hping покопать. hping утилита, работающая примерно так-же как и обычный пинг, но посылает TCP пакеты, вместо icmp. Можно опцианально выставить TCP флаги в пакете. А смысл в том, что допустим пришел машене пакет с установленым ACK флагом, а у нее такого коннекта вообще не зарегестрировано, и если и зарегестрировано, то seq номер вряд-ли совпадет ;-). Ну и посылает она обратно пакет с RST флагом. (это чисто пример. Но идея такова, что вряд-ли админ будет уродовать очень сильно работу TCP стека ;-)

P.S. если что-то наглючил тут - не пинайте сильно ;-)

P.P.S сам где брал hping уже не помню, но вроде как на filesearch.ru его можно найти.

sseREGa
()

Ребята, спосибо за ответы. Сам уже сделал на icmp. Но и hping покопаю обязательно. Сделаю чтоб и так и так работало.

D-Angel
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.