The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как определить, входит ли адес в подсеть"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как определить, входит ли адес в подсеть" 
Сообщение от fa emailИскать по авторуВ закладки(??) on 21-Дек-05, 16:52  (MSK)
Собственно сабж. Не написано ли чего такого уже?
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]

1. "Как определить, входит ли адес в подсеть" 
Сообщение от cybersun emailИскать по авторуВ закладки on 21-Дек-05, 20:43  (MSK)
>Собственно сабж. Не написано ли чего такого уже?


есть перловый скнипт ipcalc.pl считает маски и сети. он без проблем тебе поможет. в инете поищи.. валяется где не попадя... штука не редкая

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как определить, входит ли адес в подсеть" 
Сообщение от dimus Искать по авторуВ закладки(??) on 22-Дек-05, 07:29  (MSK)
>Собственно сабж. Не написано ли чего такого уже?

У двух хостов, находящихся в одной сети, одинаковым является адрес сети и разным - адрес хостов. Если же разные сетевые маски - хосты однозначно находятся в разных сетях, хотя фактически возможен вариант, когда одна сеть находится в другой.

// addr - адрес хоста. Например: 192.168.1.1
// addr_netmask - сетевая маска хоста. Например: 255.255.255.0
// network_addr - адрес сети. Например: 192.168.1.0
// netmask - сетевая маска. Например: 255.255.255.0
int test_addr( uint32_t addr, uint32_t addr_netmask, uint32_t network_addr, uint32_t netmask )
{
    int result = 0;
    uint32_t net_part;

    if( addr_netmask == netmask )
    {
       // Выделим из адреса сети сетевую часть
       net_part =  network_addr & netmask;
       if( net_part == (addr & netmask) )
       {
          result = 1;
       }
    }
    return result;
}

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру