Форум: "Сети";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];
ВнизКак послать пакет всей подсетке Найти похожие ветки
← →
_vitek_ (2003-01-07 01:00) [0]Подскажите как можно послать сообщение всей подсетке, не перебирая ip. Сетевуха вроде как делает это посылая адрес
FF FF FF FF , а как связан ip с этим FF FF FF FF ?
← →
Verg (2003-01-07 11:04) [1]Вот кусок кода, сйчас некогда объяснять. Посмотри: будут вопросы пиши.
#define IP_IS_CLASSA(a) (((a) & HTONL(0x80000000L)) == 0)
#define IP_IS_CLASSB(a) (((a) & HTONL(0xC0000000L)) == HTONL(0x80000000L))
#define IP_IS_CLASSC(a) (((a) & HTONL(0xE0000000L)) == HTONL(0xC0000000L))
#define IP_CLASSA_MASK HTONL( 0xff000000L )
#define IP_CLASSB_MASK HTONL( 0xffff0000L )
#define IP_CLASSC_MASK HTONL( 0xffffff00L )
void TETHER_thread::net_conf( ulong new_ip_addr, ulong new_netmask, ulong new_gateway )
{
ulong mask_net;
broadcast_local = 0xffffffffL;
if( IP_IS_CLASSA( new_ip_addr ) )
mask_net = IP_CLASSA_MASK;
else if( IP_IS_CLASSB( new_ip_addr ) )
mask_net = IP_CLASSB_MASK;
else if( IP_IS_CLASSC( new_ip_addr ) )
mask_net = IP_CLASSC_MASK;
netmask = new_netmask | mask_net;
broadcast_net = ip_addr | ~mask_net;
broadcast_subnet = ip_addr | ~netmask;
.......................
...........................
}
← →
Anatoly Podgoretsky (2003-01-07 11:19) [2]_vitek_ (07.01.03 01:00)
Никак не связан, это бродкаст адрес всей Сети, слава богу всю Сеть тебе не не удастся зафлудить (мечта хакера).
Ограничится только рядом подсетей, куда пройдут твои пакеты.
А вот если ты действительно хочешь послать сообщение всем компьютерам подсети, то тебе надо посылать на бродкаст адрес этой подсети, кода как его получить программно не знаю, но если знаеь адрес сети и маску, то адрес равен NET or not MASK
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c