Вниз
Скачать: CL | DM;

Как послать пакет всей подсетке   Найти похожие ветки 

 
_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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-76150
Shadow
2003-02-06 21:16
2003.02.24
Интересно...


8-76039
Raph
2002-11-11 22:18
2003.02.24
Построение трехмерных графиков


3-75765
Zhenka
2003-02-05 20:02
2003.02.24
Помогите!! как проиграть звук из blob поля


3-75794
RedKat
2003-02-06 10:20
2003.02.24
TestConnection для БД InterBase


3-75745
Ihtiandr
2003-02-07 15:09
2003.02.24
ehLib




   Наверх